{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 数据分析—泰坦尼克之灾\n",
    "\n",
    "[** @seanlee **](https://github.com/SeanLee97)\n",
    "\n",
    "目录：\n",
    "1. 加载数据，分析数据\n",
    "2. 数据清洗\n",
    "3. 特征工程\n",
    "4. 模型预测"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. 加载数据，分析数据的组成"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings(\"ignore\")\n",
    "\n",
    "import re\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import random as rd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 12 columns):\n",
      "PassengerId    891 non-null int64\n",
      "Survived       891 non-null int64\n",
      "Pclass         891 non-null int64\n",
      "Name           891 non-null object\n",
      "Sex            891 non-null object\n",
      "Age            714 non-null float64\n",
      "SibSp          891 non-null int64\n",
      "Parch          891 non-null int64\n",
      "Ticket         891 non-null object\n",
      "Fare           891 non-null float64\n",
      "Cabin          204 non-null object\n",
      "Embarked       889 non-null object\n",
      "dtypes: float64(2), int64(5), object(5)\n",
      "memory usage: 83.6+ KB\n",
      "None\n"
     ]
    }
   ],
   "source": [
    "df = pd.read_csv('./data/train.csv')\n",
    "# 输出数据信息\n",
    "print(df.info())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到，数据总共有12个属性，分别是\n",
    "1. 'PassengerId': 乘客编号\n",
    "2. 'Survived'： 是否存活（1存活，0死亡）\n",
    "3. 'Pclass'： 客舱等级 （1， 2， 3）\n",
    "4. 'Name'： 乘客姓名\n",
    "5. 'Sex'： 乘客性别\n",
    "6. 'Age'： 乘客年龄 \n",
    "7. 'SibSp'： 乘客兄弟姐妹/配偶数\n",
    "8. 'Parch'： 乘客父母/子女数\n",
    "9. 'Ticket': 船票号\n",
    "9. 'Fare'： 船票价格\n",
    "10. 'Cabin'： 舱号\n",
    "11. 'Embarked'：登陆港口\n",
    "\n",
    "得到属性后我们关心的是找到和用户存活相关的属性，也就是哪些属性影响Survived属性。\n",
    "\n",
    "从给出的info表看到，存在数据缺失的情况，如：**Age, Cabin, Embarked**，**往往数据缺失的部分是提高整个模型的准确率的关键**，我们要做的是挖掘出丢失的数据，将其影响加入到结果预测中"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.1 先看值的分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>714.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>446.000000</td>\n",
       "      <td>0.383838</td>\n",
       "      <td>2.308642</td>\n",
       "      <td>29.699118</td>\n",
       "      <td>0.523008</td>\n",
       "      <td>0.381594</td>\n",
       "      <td>32.204208</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>257.353842</td>\n",
       "      <td>0.486592</td>\n",
       "      <td>0.836071</td>\n",
       "      <td>14.526497</td>\n",
       "      <td>1.102743</td>\n",
       "      <td>0.806057</td>\n",
       "      <td>49.693429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.420000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>223.500000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>20.125000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>7.910400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>446.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>28.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>14.454200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>668.500000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>38.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>31.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>891.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>80.000000</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>512.329200</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       PassengerId    Survived      Pclass         Age       SibSp  \\\n",
       "count   891.000000  891.000000  891.000000  714.000000  891.000000   \n",
       "mean    446.000000    0.383838    2.308642   29.699118    0.523008   \n",
       "std     257.353842    0.486592    0.836071   14.526497    1.102743   \n",
       "min       1.000000    0.000000    1.000000    0.420000    0.000000   \n",
       "25%     223.500000    0.000000    2.000000   20.125000    0.000000   \n",
       "50%     446.000000    0.000000    3.000000   28.000000    0.000000   \n",
       "75%     668.500000    1.000000    3.000000   38.000000    1.000000   \n",
       "max     891.000000    1.000000    3.000000   80.000000    8.000000   \n",
       "\n",
       "            Parch        Fare  \n",
       "count  891.000000  891.000000  \n",
       "mean     0.381594   32.204208  \n",
       "std      0.806057   49.693429  \n",
       "min      0.000000    0.000000  \n",
       "25%      0.000000    7.910400  \n",
       "50%      0.000000   14.454200  \n",
       "75%      0.000000   31.000000  \n",
       "max      6.000000  512.329200  "
      ]
     },
     "execution_count": 118,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "descibe() 给出了总数，均值，标准值等数据，看了头有点晕吧，好吧这里我们只是大概看一下值的范围，最后的数值的规整化才会用到"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. 数据的清洗\n",
    "\n",
    "接下来逐个揭开数据的面纱！"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Survived\n",
    "\n",
    "让我们先看看存活占比吧"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[549 342]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7fd3c64668>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.Survived.value_counts().plot(kind='bar')\n",
    "print(df.Survived.value_counts().values)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### PassengerId\n",
    "\n",
    "乘客编号，一般来说编号是顺序生成的，如果是顺序生成的话，那么数据就没有多大的意义。\n",
    "\n",
    "但是也有其他情况，比如银行排号，金、银、普卡的编号一般是不一样的，如果是按照这种方式说明PassagerId中包含了不同等级人群(感觉有点用词不当)的含义，所以一般是按区间来处理。到底属于哪种呢？我们先分析分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEICAYAAABRSj9aAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd8lfX5//HXxSaMsDchbAxLMQg4UVwgirhqtYoTa7W1\n1grBUbEuHK2lX1dRa9VaqZIICCgutFoVBUcSwgozCZtACCQh43x+f5yb/qKiJHCS+4z38/E4j5x7\nnXOdm5t37nzOfa5jzjlERCR61fG7ABERqVkKehGRKKegFxGJcgp6EZEop6AXEYlyCnoRkSinoBcJ\nQ2Y20sxy/a5DooOCXsKema03s2Iz22tmW83sH2bW1O+6jpSZOTPr5XcdEv0U9BIpznXONQWGAMnA\nXT7Xc9jMrJ7fNUhsUdBLRHHO5QFvAQPM7GozW25mhWa21sxuOLCembUxs3lmttvM8s3sYzOr4y2b\nbGZ53nYrzWyUN/84M/vM22azmT1hZg0qPeaZ3voFZvaUmX1kZtdVWn6NV88uM1toZt0qLXNmdpOZ\nrQZWf/91mVlj7y+VXWaWBQytif0nsUlBLxHFzLoCY4CvgW3AWKA5cDXwuJkN8Va9DcgF2gLtgTsA\nZ2Z9gZuBoc65ZsBZwHpvmwrgVqANMAIYBfzKe942wCxgCtAaWAkcX6mucd5zXOA958fAq98r/3xg\nGJB0kJd2D9DTu50FTKjOfhH5KQp6iRSzzWw38AnwEfCgc26+c26NC/oIeAc4yVu/DOgIdHPOlTnn\nPnbBxk4VQEMgyczqO+fWO+fWADjnljrnPnfOlTvn1gN/A07xHm8MsMw5l+acKwf+CmypVN8vgYec\nc8u95Q8CR1c+q/eW5zvnig/y+i4BHvCW53iPLxISCnqJFOc751o457o5537lnCs2s9Fm9rk3NLOb\nYBi38dZ/FMgG3vGGdVIAnHPZwG+BqcA2M5tpZp0AzKyPN9yzxcz2EAzrA4/XCcg5UIz3S6PyVTHd\ngOnesM9uIB8woHOldXL4cZ2+t3xDlfeMyCEo6CUimVlDIBV4DGjvnGsBLCAYrjjnCp1ztznnegDn\nAb87MBbvnPuXc+5EguHsgIe9h30aWAH0ds41JzgUY96yzUCXSs9vlacJhvQN3i+jA7fGzrlPK63z\nU61iNwNdK00nVHVfiByKgl4iVQOCQzDbgXIzGw2ceWChmY01s15eIBcQHLIJmFlfMzvN+0VRAhQD\nAW+zZsAeYK+Z9QNurPR884GBZna+d9XMTUCHSsufAaaYWX/v+ePN7OJqvJ7XvO1bmlkX4NfV2Fbk\nJynoJSI55wqB3xAMyF3AZcDcSqv0Bt4D9gKfAU855xYR/OUwDdhBcIy9HcE3WAF+7z1OIfAs8O9K\nz7cDuBh4BNhJ8A3VJcB+b/kbBP8ymOkN+2QCo6vxku4lOFyzjuB7DS9XY1uRn2T64hGR6vMu1cwF\nLvd+gYiELZ3Ri1SRmZ1lZi28YZ8D4/ef+1yWyCEp6EWqbgSwhuCwz7kErwQ62KWSImFFQzciIlFO\nZ/QiIlEuLJortWnTxiUmJvpdhohIRFm6dOkO51zbQ60XFkGfmJjIkiVL/C5DRCSimFmVPkGtoRsR\nkSinoBcRiXIKehGRKKegFxGJcgp6EZEop6AXEYlyCnoRkSinoBcR8UFxaQUPvbWc3F1FNf5cYfGB\nKRGRWPLpmh2kpGawMb+ILi3juGJ4t0NvdAQU9CIitWRPSRkPLVjOq1/kkNg6jpkThzO8R+saf14F\nvYhILXg3ayt3zc5ge+F+bjilB7ee3odG9evWynMr6EVEatCOvfuZOncZ89I3069DM569MplBXVrU\nag0KehGRGuCcY843m7j3zWXs21/BbWf04YZTetKgXu1fA6OgFxEJsU27i7lrdiYfrNjGMQkteOTC\nQfRu38y3ehT0IiIhEgg4/vXFRqa9tYKKgOMPY5OYcHwideuYr3Up6EVEQmDdjn1MTk3ni3X5nNir\nDQ9dMJCureL8LgtQ0IuIHJHyigDPfbKOx99dRYN6dXjkwkFcnNwFM3/P4itT0IuIHKasTXuYnJpO\nRl4BZya1577zB9C+eSO/y/oBBb2ISDXtL6/giQ+yefrDNbSIq8+Tlw1hzMAOYXUWX5mCXkSkGpZu\n2MXk1HSyt+3lgiGdufucJFo2aeB3WT9JQS8iUgVFpeU8unAl//h0PZ3iG/OPq4cysm87v8uqEgW9\niMghfLJ6Bylp6eTuKubKEd2YdHY/mjaMnPiMnEpFRGpZQVEZDyzI4rUlufRo04TXbhjBcd1b+V1W\ntSnoRUQO4u3MLdw9J5P8faXcOLInt4zqXWtNyEJNQS8iUsn2wmATsvkZm0nq2JwXrhrKgM7xfpd1\nRKoU9GZ2K3Ad4IAM4GqgIzATaA0sBa5wzpWaWUPgJeBYYCfwM+fc+tCXLiISOs450r7K44/zsigu\nreD2s/oy8eQe1K8b+V/Ed8hXYGadgd8Ayc65AUBd4FLgYeBx51wvYBdwrbfJtcAub/7j3noiImEr\nb3cxV73wJbe9/i292jVlwS0ncdOpvaIi5KHqQzf1gMZmVgbEAZuB04DLvOUvAlOBp4Fx3n2AWcAT\nZmbOOReimkVEQiIQcPxz8QYefmsFDrj3vP5cMbwbdXxuQhZqhwx651yemT0GbASKgXcIDtXsds6V\ne6vlAp29+52BHG/bcjMrIDi8s6Py45rZRGAiQEJCwpG/EhGRalizfS8pqel8uX4XJ/Vuw4Pjw6cJ\nWagdMujNrCXBs/TuwG7gdeDsI31i59wMYAZAcnKyzvZFpFaUVQR49uO1/OW91TSuX5fHLh7MhUM6\nh237glCoytDN6cA659x2ADNLA04AWphZPe+svguQ562fB3QFcs2sHhBP8E1ZERFfZeYVMDk1nWWb\n9jB6QAfuHdefds3CrwlZqFUl6DcCw80sjuDQzShgCbAIuIjglTcTgDne+nO96c+85R9ofF5E/FRS\nVsH/fbCaZz5aS8u4Bjx9+RBGD+zod1m1pipj9IvNbBbwFVAOfE1wyGU+MNPM7vfmPe9t8jzwspll\nA/kEr9AREfHFkvX5TEpNZ+32fVx8bBfuPOcoWsSFdxOyULNwONlOTk52S5Ys8bsMEYkie/eX8+jb\nK3jp8w10im/MQxcM5OQ+bf0uK6TMbKlzLvlQ6+mTsSISdT5atZ070jLYVFDMhBGJ3H5WX5pEUBOy\nUIvdVy4iUWd3USn3zVtO6le59GzbhNdvGEFyYuQ1IQs1Bb2IRIW3MjZz95xl7Coq5eZTe3Hzab0i\ntglZqCnoRSSibdtTwh/mLOPtZVsY0Lk5L14zlP6dIrsJWagp6EUkIjnnmLU0l/vmZVFSHmDy2f24\n/qTu1IuS/jShpKAXkYiTk1/EHW9k8PHqHRyX2IppFw6kR9umfpcVthT0IhIxKgKOlz5bz6MLV2LA\nfeP6c/mw6GtCFmoKehGJCNnbCpmcmsHSDbs4pU9bHrxgIJ1bNPa7rIigoBeRsFZWEeBvH63hr+9n\nE9ewLn++ZDDjj4nuJmShpqAXkbCVkVvApNR0lm/ewzmDOjL13P60bdbQ77IijoJeRMJOSVkFf3lv\nNc9+vJbWTRrwtyuO5az+HfwuK2Ip6EUkrCxeu5OUtAzW7djHz5K7csc5RxHfuL7fZUU0Bb2IhIXC\nkjIeeXslL3++ga6tGvPKdcM4oVcbv8uKCgp6EfHdopXbuDMtg817SrjmhO78/qw+xDVQPIWK9qSI\n+GbXvlLum5dF2td59G7XlNQbj2dIQku/y4o6CnoRqXXOOeZnbOaeOcsoKC7jN6N6c9OpPWlYT03I\naoKCXkRq1dY9Jdw1O5N3s7YyqEs8/7xuGEd1bO53WVFNQS8itcI5x2tLcrh//nJKywPcMaYf15yg\nJmS1QUEvIjVu484iUtLS+XTNToZ1b8XDFw4isU0Tv8uKGQp6EakxFQHHPz5dz2MLV1K3jvHA+AH8\nfGiCmpDVMgW9iNSIVVsLmTQrnW9ydnNav3Y8MH4AHePVhMwPCnoRCanS8gBPf7iGJxatpmnDeky/\n9GjOG9xJTch8pKAXkZD5Nmc3k1PTWbGlkPMGd+Kec5No3VRNyPymoBeRI1ZcWsHj763iuY/X0q5Z\nI567MpnTk9r7XZZ4FPQickQ+W7OTKWnprN9ZxM+PS2DKmH40b6QmZOFEQS8ih2VPSRnT3lrBvxZv\npFvrOP51/TCO76kmZOFIQS8i1fb+8q3c+UYm2wpLuP6k7vzujL40bqD2BeFKQS8iVbZz737ufTOL\nud9uom/7ZjxzxbEc3bWF32XJISjoReSQnHPM/XYT976ZRWFJGbee3ocbR/akQT21L4gECnoR+Umb\nC4q5641M3l+xjcFdW/DIhYPo26GZ32VJNSjoReSgAgHHzC9zeGjBcsoCAe465yiuPqE7ddW+IOIo\n6EXkB9bv2EdKWjqfr81nRI/WTLtwIN1aqwlZpFLQi8j/lFcEeOG/6/nTuyupX6cO0y4YyM+GdlX7\ngginoBcRAFZs2cPkWel8m1vA6Ue15/7zB9AhvpHfZUkIKOhFYtz+8gqeXLSGpxZlE9+4Pv/382MY\nO6ijzuKjiIJeJIZ9vXEXk1PTWbV1L+OP6czdY5No1aSB32VJiFUp6M2sBfAcMABwwDXASuDfQCKw\nHrjEObfLgqcB04ExQBFwlXPuq5BXLiKHrai0nD+9s4q//3cdHZo34u9XJXNaPzUhi1ZVPaOfDrzt\nnLvIzBoAccAdwPvOuWlmlgKkAJOB0UBv7zYMeNr7KSJh4NPsHaSkZbAxv4hfDE9g8tn9aKYmZFHt\nkEFvZvHAycBVAM65UqDUzMYBI73VXgQ+JBj044CXnHMO+NzMWphZR+fc5pBXLyJVVlBcxkMLljPz\nyxy6t2nCzInDGd6jtd9lSS2oyhl9d2A78IKZDQaWArcA7SuF9xbgwN99nYGcStvnevO+E/RmNhGY\nCJCQkHC49YtIFbyzbAt3zc5kx9793HBKD249vQ+N6qsJWayoStDXA4YAv3bOLTaz6QSHaf7HOefM\nzFXniZ1zM4AZAMnJydXaVkSqZsfe/Uydu4x56Zvp16EZz01IZlAXNSGLNVUJ+lwg1zm32JueRTDo\ntx4YkjGzjsA2b3ke0LXS9l28eSJSS5xzzP4mj3vfzKJofwW3ndGHX47sSf26akIWiw4Z9M65LWaW\nY2Z9nXMrgVFAlnebAEzzfs7xNpkL3GxmMwm+CVug8XmR2rNpdzF3vpHBopXbOSYh2ISsd3s1IYtl\nVb3q5tfAK94VN2uBq4E6wGtmdi2wAbjEW3cBwUsrswleXnl1SCsWkYMKBByvfLGRh99aQUXA8Yex\nSUw4PlFNyKRqQe+c+wZIPsiiUQdZ1wE3HWFdIlINa7fvJSU1gy/W53NirzY8dMFAuraK87ssCRP6\nZKxIBCuvCPDcJ+t4/N1VNKxXh0cuGsTFx3ZR+wL5DgW9SITK2rSHSanfkpm3h7P6t+e+cQNo11xN\nyOSHFPQiEWZ/eQVPfJDN0x+uoUVcfZ66fAijB3TQWbz8KAW9SARZuiGfyakZZG/bywVDOnP3OUm0\nVBMyOQQFvUgE2Le/nEcXruTFz9bTKb4x/7h6KCP7tvO7LIkQCnqRMPfx6u1MScsgd1cxE0Z04/az\n+9G0of7rStXpaBEJUwVFZdw/P4vXl+bSo20TXv/lCIYmtvK7LIlACnqRMPR25hbunpNJ/r5SfjWy\nJ78Z1VtNyOSwKehFwsi2whKmzl3GgowtJHVszgtXDWVA53i/y5IIp6AXCQPOOVK/yuO+eVkUl1Vw\n+1l9mXhyDzUhk5BQ0Iv4LHdXEXe8kcl/Vm0nuVtLpl04iF7tmvpdlkQRBb2ITwIBx8ufb+Dht1cA\ncO95/blieDfqqAmZhJiCXsQHa7bvZfKsdJZs2MXJfdry4PgBdGmpJmRSMxT0IrWorCLAjP+sZfr7\nq2lcvy6PXTyYC4d0VvsCqVEKepFakplXwKRZ6WRt3sOYgR2Yel5/2jVTEzKpeQp6kRpWUlbB9PdX\nM+M/a2kZ14BnfjGEswd09LssiSEKepEa9OX6fCbPSmftjn1cfGwX7jonifi4+n6XJTFGQS9SA/bu\nL+eRt1fw0mcb6NKyMS9fexwn9W7rd1kSoxT0IiH20art3JGWwaaCYq46PpHbz+pLEzUhEx/p6BMJ\nkd1FpfxxXhZpX+XRs20TZv1yBMd2UxMy8Z+CXuQIOed4K3MLf5iTye6iMm4+tRc3n9ZLTcgkbCjo\nRY7Atj0l3D0nk4XLtjKgc3NevOY4+ndSEzIJLwp6kcPgnOP1pbncPy+L/eUBUkb347oTu1NPTcgk\nDCnoRaopJ7+IKWkZfJK9g+MSWzHtwoH0aKsmZBK+FPQiVVQRcLz02XoeeXsldQzuO38Alx+XoCZk\nEvYU9CJVkL2tkEmz0vlq425G9m3LA+MH0rlFY7/LEqkSBb3ITyirCPDMh2v4vw+yiWtYl8d/Npjz\nj1YTMoksCnqRH5GRW8Dts75lxZZCxg7qyNTz+tOmaUO/yxKpNgW9yPeUlFXw+HurePY/a2nTtCEz\nrjiWM/t38LsskcOmoBepZPHanaSkZbBuxz4uHdqVKWOOIr6xmpBJZFPQiwCFJWU8/PYK/vn5Rrq2\naswr1w3jhF5t/C5LJCQU9BLzFq3Yxh1vZLBlTwnXntid287sQ1wD/deQ6KGjWWJW/r5S/vjmMmZ/\ns4ne7ZqSeuPxDElo6XdZIiGnoJeY45xjXvpmps5dRkFxGb8Z1ZubTu1Jw3pqQibRSUEvMWXrnhLu\nfCOT95ZvZVCXeF65fhj9OjT3uyyRGlXloDezusASIM85N9bMugMzgdbAUuAK51ypmTUEXgKOBXYC\nP3POrQ955SLV4Jzj31/m8MCC5ZSWB7hzzFFcfUKimpBJTKjOUX4LsLzS9MPA4865XsAu4Fpv/rXA\nLm/+4956Ir7ZuLOIy59bTEpaBkkdm7Pwtydz/ck9FPISM6p0pJtZF+Ac4Dlv2oDTgFneKi8C53v3\nx3nTeMtHmT4vLj6oCDie+3gtZ/7lI9JzC3hw/EBevX44iW2a+F2aSK2q6tDNX4BJQDNvujWw2zlX\n7k3nAp29+52BHADnXLmZFXjr76j8gGY2EZgIkJCQcLj1ixzUyi2FTEpN59uc3ZzWrx0PjB9Ax3g1\nIZPYdMigN7OxwDbn3FIzGxmqJ3bOzQBmACQnJ7tQPa7EttLyAE99mM2Ti7Jp1qg+0y89mvMGd1IT\nMolpVTmjPwE4z8zGAI2A5sB0oIWZ1fPO6rsAed76eUBXINfM6gHxBN+UFalR3+bsZtKsdFZuLWTc\n0Z34w9gkWqsJmcihx+idc1Occ12cc4nApcAHzrnLgUXARd5qE4A53v253jTe8g+cczpjlxpTXFrB\nA/OzGP/UfykoLuO5K5OZfukxCnkRz5FcRz8ZmGlm9wNfA897858HXjazbCCf4C8HkRrx6ZodTEnL\nYMPOIi4blkDK6H40b6QmZCKVVSvonXMfAh9699cCxx1knRLg4hDUJvKj9pSU8dCCFbz6xUa6tY7j\nX9cP4/ieakImcjD6ZKxEnPeytnLn7Ay2F+5n4sk9uPX0PjRuoPYFIj9GQS8RY+fe/dz7ZhZzv91E\nvw7NmHFFMoO7tvC7LJGwp6CXsOecY+63m5g6dxl795dz6+l9uHFkTxrU0ydbRapCQS9hbXNBMXe9\nkcn7K7ZxdNcWPHLRIPq0b3boDUXkfxT0EpYCAcerX27koQUrKA8EuOuco7j6hO7UraMPPolUl4Je\nws66HftISU1n8bp8ju/ZmmkXDCKhdZzfZYlELAW9hI3yigB//+86/vTOKhrUq8PDFw7kkuSual8g\ncoQU9BIWlm/ew+TUdNJzCzgjqT33nz+A9s0b+V2WSFRQ0Iuv9pdX8OSiNTy1KJv4xvV54rJjOGdg\nR53Fi4SQgl5889XGXUyelc7qbXsZf0xn/jA2iZZNGvhdlkjUUdBLrSsqLeexhat44dN1dGjeiBeu\nGsqp/dr5XZZI1FLQS636b/YOUtLSyckv5hfDE5h8dj+aqQmZSI1S0EutKCgu48H5y/n3khy6t2nC\nvycOZ1iP1n6XJRITFPRS495ZtoW7Zmeyc18pvzylJ789vTeN6qsJmUhtUdBLjdleuJ+pby5jfvpm\njurYnOcnDGVgl3i/yxKJOQp6CTnnHG98nccf52VRtL+C35/ZhxtO6Un9umpCJuIHBb2EVN7uYu58\nI4MPV25nSEKwCVmvdmpCJuInBb2ERCDgeGXxBqa9tYKAg3vOTeLKEYlqQiYSBhT0csTWbt9LSmoG\nX6zP56TebXhw/EC6tlITMpFwoaCXw1ZeEeDZj9fx+HuraFSvDo9eNIiLju2i9gUiYUZBL4cla9Me\nJqV+S2beHs7q3577xg2gnZqQiYQlBb1US0lZBU98kM0zH62hRVwDnr58CKMHdvS7LBH5CQp6qbKl\nG/KZNCudNdv3ceGQLtw99ihaxKkJmUi4U9DLIe3bX86jC1fy4mfr6RTfmBevOY5T+rT1uywRqSIF\nvfyk/6zazpS0DDYVFHPl8G7cfnY/mjbUYSMSSfQ/Vg6qoKiM++ZnMWtpLj3aNuG1G0YwNLGV32WJ\nyGFQ0MsPvJ25mbvnLCN/Xym/GtmT34xSEzKRSKagl//ZVljCPXOW8VbmFpI6NueFq4YyoLOakIlE\nOgW94Jxj1tJc7p+/nOKyCm4/qy8TT+6hJmQiUUJBH+Ny8ou4440MPl69g+RuLZl24SB6tWvqd1ki\nEkIK+hgVCDhe+mw9jyxciQF/HNefXwzrRh01IROJOgr6GJS9bS8pqeks2bCLk/u05cHxA+jSUk3I\nRKKVgj6GlFUEmPGftUx/bzWNG9TlTxcP5oIhndWETCTKKehjRGZeAZNmpZO1eQ9jBnbg3vMG0LZZ\nQ7/LEpFaoKCPciVlFUx/fzUz/rOWVk0a8MwvhnD2ADUhE4klCvoo9uX6fCbPSmftjn1cktyFO8ck\nER9X3++yRKSWHfJCaTPramaLzCzLzJaZ2S3e/FZm9q6ZrfZ+tvTmm5n91cyyzSzdzIbU9IuQ79q7\nv5w/zMnk4mc+o7QiwD+vHcYjFw1WyIvEqKqc0ZcDtznnvjKzZsBSM3sXuAp43zk3zcxSgBRgMjAa\n6O3dhgFPez+lFixauY070zLYvKeEq09I5Pdn9qWJmpCJxLRDJoBzbjOw2btfaGbLgc7AOGCkt9qL\nwIcEg34c8JJzzgGfm1kLM+voPY7UkF37SrlvXhZpX+fRq11TZv3yeI7t1tLvskQkDFTrVM/MEoFj\ngMVA+0rhvQVo793vDORU2izXm/edoDezicBEgISEhGqWLQc451iQsYV75mayu6iMX5/Wi5tP60XD\nempCJiJBVQ56M2sKpAK/dc7tqXzttXPOmZmrzhM752YAMwCSk5Orta0EbdtTwl2zM3knaysDO8fz\n0jXDSOrU3O+yRCTMVCnozaw+wZB/xTmX5s3eemBIxsw6Atu8+XlA10qbd/HmSYg453h9SS73zc+i\ntDzAlNH9uPbE7tRTEzIROYhDBr0FT92fB5Y75/5cadFcYAIwzfs5p9L8m81sJsE3YQs0Ph86OflF\nTEnL4JPsHRzXvRXTLhhIj7ZqQiYiP64qZ/QnAFcAGWb2jTfvDoIB/5qZXQtsAC7xli0AxgDZQBFw\ndUgrjlEVAceLn67n0YUrqVvHuP/8AVx2XIKakInIIVXlqptPgB9Lk1EHWd8BNx1hXVLJ6q2FTEpN\n5+uNuxnZty0Pjh9IpxaN/S5LRCKELrAOY6XlAZ75aA1PfJBNk4Z1+cvPjmbc0Z3UhExEqkVBH6bS\nc3czaVY6K7YUcu7gTtxzbhJtmqoJmYhUn4I+zJSUVfD4u6t49uO1tG3WkGevTOaMpPaH3lBE5Eco\n6MPI52t3kpKazvqdRfz8uK6kjD6K+MbqTyMiR0ZBHwYKS8qY9tYKXlm8kYRWcfzrumEc36uN32WJ\nSJRQ0PvsgxVbufONTLbuKeG6E7vzuzP7ENdA/ywiEjpKFJ/k7yvlj28uY/Y3m+jdrilP3Xg8xySo\nCZmIhJ6CvpY553gzfTNT5y6jsKSMW0b15len9lQTMhGpMQr6WrSlINiE7L3lWxncJZ6HLxpGvw5q\nQiYiNUtBXwucc8z8MocH5y+nLBDgzjFHcc2J3amr9gUiUgsU9DVsw859pKRm8NnanQzv0YppFwwi\nsU0Tv8sSkRiioK8hFQHHC/9dx2PvrKR+nTo8OH4glw7tqiZkIlLrFPQ1YOWWYBOyb3N2M6pfO+4f\nP4CO8WpCJiL+UNCHUGl5gKc+zObJRdk0a1Sfv/78GM4d1FFNyETEVwr6EPkmZzeTZ6Wzcmsh447u\nxD3n9qdVkwZ+lyUioqA/UsWlFfzpnZX8/b/raNesEc9PSGbUUWpCJiLhQ0F/BD5ds4OU1Aw25hdx\n2bAEUkb3o3kjNSETkfCioD8Me0rKeGjBcl79IodureN49frhjOjZ2u+yREQOSkFfTe9lbeXO2Rls\nL9zPxJN7cOvpfWjcQO0LRCR8KeiraOfe/Ux9M4s3v91Evw7NmHFFMoO7tvC7LBGRQ1LQH4Jzjjnf\nbOLeN5exd385vzujD788pScN6tXxuzQRkSpR0P+ETbuLuWt2Jh+s2MbRXVvwyEWD6NO+md9liYhU\ni4L+IAIBx7++2Mi0t1ZQEXDcPTaJq45PVBMyEYlICvrvWbdjHymp6Sxel88JvVrz0PhBJLSO87ss\nEZHDpqD3lFcEeP6Tdfz53VU0qFeHhy8cyCXJXdW+QEQinoIeWL55D5NT00nPLeCMpPbcf/4A2jdv\n5HdZIiIhEdNBv7+8gic/yOapD9fQIq4+T142hDEDO+gsXkSiSswG/dINu5icmk72tr1ccExn7h6b\nREs1IRORKBRzQV9UWs6jC1fyj0/X07F5I164eiin9m3nd1kiIjUmpoL+k9U7SElLJ3dXMVcM78ak\ns/vSTE3IRCTKxUTQFxSX8cD8LF5bkkv3Nk3498ThDOuhJmQiEhuiPugXLtvC3bMz2bmvlBtH9uSW\nUb1pVF8U6AQAAAAFbUlEQVRNyEQkdkRt0G8v3M/UucuYn7GZozo25/kJQxnYJd7vskREal3UBb1z\njrSv8vjjvCyKSyu4/ay+TDy5B/XrqgmZiMSmqAr6vN3F3JGWwUertjMkIdiErFc7NSETkdhWI0Fv\nZmcD04G6wHPOuWk18TwHBAKOfy7ewMNvrcABU89N4ooRakImIgI1EPRmVhd4EjgDyAW+NLO5zrms\nUD8XwJrte0lJTefL9bs4qXcbHhw/kK6t1IRMROSAmjijPw7Ids6tBTCzmcA4IORB/9qXOdw1J5NG\n9erw6EWDuOjYLmpfICLyPTUR9J2BnErTucCw769kZhOBiQAJCQmH9UTd2zZhVL923DuuP+2aqQmZ\niMjB+PZmrHNuBjADIDk52R3OYwxNbMXQxFYhrUtEJNrUxDWHeUDXStNdvHkiIuKDmgj6L4HeZtbd\nzBoAlwJza+B5RESkCkI+dOOcKzezm4GFBC+v/Ltzblmon0dERKqmRsbonXMLgAU18dgiIlI96gsg\nIhLlFPQiIlFOQS8iEuUU9CIiUc6cO6zPKoW2CLPtwIbD3LwNsCOE5UQD7ZPv0v74Lu2PH4rUfdLN\nOdf2UCuFRdAfCTNb4pxL9ruOcKJ98l3aH9+l/fFD0b5PNHQjIhLlFPQiIlEuGoJ+ht8FhCHtk+/S\n/vgu7Y8fiup9EvFj9CIi8tOi4YxeRER+goJeRCTKRXTQm9nZZrbSzLLNLMXvemqDmXU1s0VmlmVm\ny8zsFm9+KzN718xWez9bevPNzP7q7aN0Mxvi7yuoGWZW18y+NrN53nR3M1vsve5/ey2zMbOG3nS2\ntzzRz7pripm1MLNZZrbCzJab2YhYPkbM7Fbv/0ummb1qZo1i6RiJ2KCv9CXko4Ek4OdmluRvVbWi\nHLjNOZcEDAdu8l53CvC+c6438L43DcH909u7TQServ2Sa8UtwPJK0w8DjzvnegG7gGu9+dcCu7z5\nj3vrRaPpwNvOuX7AYIL7JiaPETPrDPwGSHbODSDYPv1SYukYcc5F5A0YASysND0FmOJ3XT7shznA\nGcBKoKM3ryOw0rv/N+Dnldb/33rRciP4LWbvA6cB8wAj+CnHet8/Vgh+T8II7349bz3z+zWEeH/E\nA+u+/7pi9Rjh/3+PdSvv33wecFYsHSMRe0bPwb+EvLNPtfjC+5PyGGAx0N45t9lbtAVo792Phf30\nF2ASEPCmWwO7nXPl3nTl1/y//eEtL/DWjybdge3AC95w1nNm1oQYPUacc3nAY8BGYDPBf/OlxNAx\nEslBH9PMrCmQCvzWOben8jIXPBWJietmzWwssM05t9TvWsJIPWAI8LRz7hhgH/9/mAaIuWOkJTCO\n4C/ATkAT4Gxfi6plkRz0Mfsl5GZWn2DIv+KcS/NmbzWzjt7yjsA2b36076cTgPPMbD0wk+DwzXSg\nhZkd+Aa1yq/5f/vDWx4P7KzNgmtBLpDrnFvsTc8iGPyxeoycDqxzzm13zpUBaQSPm5g5RiI56GPy\nS8jNzIDngeXOuT9XWjQXmODdn0Bw7P7A/Cu9KyuGAwWV/nyPeM65Kc65Ls65RILHwAfOucuBRcBF\n3mrf3x8H9tNF3vpRdWbrnNsC5JhZX2/WKCCLGD1GCA7ZDDezOO//z4H9ETvHiN9vEhzhmyxjgFXA\nGuBOv+uppdd8IsE/udOBb7zbGIJjiO8Dq4H3gFbe+kbw6qQ1QAbBKw98fx01tG9GAvO8+z2AL4Bs\n4HWgoTe/kTed7S3v4XfdNbQvjgaWeMfJbKBlLB8jwL3ACiATeBloGEvHiFogiIhEuUgeuhERkSpQ\n0IuIRDkFvYhIlFPQi4hEOQW9iEiUU9CLiEQ5Bb2ISJT7f0xds9uLDZNfAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7fc8f90358>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.title('PassagerId')\n",
    "plt.plot(df.PassengerId)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "好吧，可以看到编号是顺序生成的，所以，我们先放下这个属性"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Pclass\n",
    "\n",
    "Pclass是舱位的等级，就好比飞机分头等舱，商务舱，普通。一般来说越高级的舱位提供的安全措施可能会比较到位，所以这应该是一个影响因素，到底是不是呢？让我们分析分析再下定论"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3    491\n",
      "1    216\n",
      "2    184\n",
      "Name: Pclass, dtype: int64\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7fc9074ac8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.title('Pclass')\n",
    "plt.xlabel('class')\n",
    "plt.ylabel('persons')\n",
    "print(df.Pclass.value_counts())\n",
    "df.Pclass.value_counts().plot(kind='bar')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "上面是各舱位人数分布。现在让我看看各舱位存活人数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "alive\n",
      "[136 119  87]\n",
      "die\n",
      "[372  97  80]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7fc905b978>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7fc908ac18>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "alive = df.Pclass[df.Survived == 1].value_counts()\n",
    "die = df.Pclass[df.Survived == 0].value_counts()\n",
    "print('alive')\n",
    "print(alive.values)\n",
    "print('die')\n",
    "print(die.values)\n",
    "_df = pd.DataFrame({'alive': alive, 'die': die})\n",
    "_df.plot(kind='bar', stacked=True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到3中死亡占比最高，1最少，3应该是普通舱，1应该是贵宾舱，所以舱位等级对存活造成影响"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Cabbin\n",
    "\n",
    "舱号缺失比较严重， 先分析舱号缺失和不缺失存活占比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nnI6LMYatkEYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7fc8ac3400>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cabin_notnull = df.Survived[pd.notnull(df.Cabin)].value_counts()\n",
    "cabin_null = df.Survived[pd.isnull(df.Cabin)].value_counts()\n",
    "\n",
    "_df = pd.DataFrame({'Not NAN': cabin_notnull, 'NAN': cabin_null})\n",
    "_df.plot(kind='bar', stacked=True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到死亡的乘客中丢失舱号的占大多数，从直观上可以认为舱号数据是否丢失与存活有关联，但由于舱号大部分缺失，未知性太多，一些内部的关系不能得到确定，所以这个属性还得需要挖掘。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Fare\n",
    "\n",
    "船票价格"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([   7.25  ,   71.2833,    7.925 ,   53.1   ,    8.05  ,    8.4583,\n",
       "         51.8625,   21.075 ,   11.1333,   30.0708,   16.7   ,   26.55  ,\n",
       "          8.05  ,   31.275 ,    7.8542,   16.    ,   29.125 ,   13.    ,\n",
       "         18.    ,    7.225 ,   26.    ,   13.    ,    8.0292,   35.5   ,\n",
       "         21.075 ,   31.3875,    7.225 ,  263.    ,    7.8792,    7.8958,\n",
       "         27.7208,  146.5208,    7.75  ,   10.5   ,   82.1708,   52.    ,\n",
       "          7.2292,    8.05  ,   18.    ,   11.2417,    9.475 ,   21.    ,\n",
       "          7.8958,   41.5792,    7.8792,    8.05  ,   15.5   ,    7.75  ,\n",
       "         21.6792,   17.8   ,   39.6875,    7.8   ,   76.7292,   26.    ,\n",
       "         61.9792,   35.5   ,   10.5   ,    7.2292,   27.75  ,   46.9   ,\n",
       "          7.2292,   80.    ,   83.475 ,   27.9   ,   27.7208,   15.2458,\n",
       "         10.5   ,    8.1583,    7.925 ,    8.6625,   10.5   ,   46.9   ,\n",
       "         73.5   ,   14.4542,   56.4958,    7.65  ,    7.8958,    8.05  ,\n",
       "         29.    ,   12.475 ,    9.    ,    9.5   ,    7.7875,   47.1   ,\n",
       "         10.5   ,   15.85  ,   34.375 ,    8.05  ,  263.    ,    8.05  ,\n",
       "          8.05  ,    7.8542,   61.175 ,   20.575 ,    7.25  ,    8.05  ,\n",
       "         34.6542,   63.3583,   23.    ,   26.    ,    7.8958,    7.8958,\n",
       "         77.2875,    8.6542,    7.925 ,    7.8958,    7.65  ,    7.775 ,\n",
       "          7.8958,   24.15  ,   52.    ,   14.4542,    8.05  ,    9.825 ,\n",
       "         14.4583,    7.925 ,    7.75  ,   21.    ,  247.5208,   31.275 ,\n",
       "         73.5   ,    8.05  ,   30.0708,   13.    ,   77.2875,   11.2417,\n",
       "          7.75  ,    7.1417,   22.3583,    6.975 ,    7.8958,    7.05  ,\n",
       "         14.5   ,   26.    ,   13.    ,   15.0458,   26.2833,   53.1   ,\n",
       "          9.2167,   79.2   ,   15.2458,    7.75  ,   15.85  ,    6.75  ,\n",
       "         11.5   ,   36.75  ,    7.7958,   34.375 ,   26.    ,   13.    ,\n",
       "         12.525 ,   66.6   ,    8.05  ,   14.5   ,    7.3125,   61.3792,\n",
       "          7.7333,    8.05  ,    8.6625,   69.55  ,   16.1   ,   15.75  ,\n",
       "          7.775 ,    8.6625,   39.6875,   20.525 ,   55.    ,   27.9   ,\n",
       "         25.925 ,   56.4958,   33.5   ,   29.125 ,   11.1333,    7.925 ,\n",
       "         30.6958,    7.8542,   25.4667,   28.7125,   13.    ,    0.    ,\n",
       "         69.55  ,   15.05  ,   31.3875,   39.    ,   22.025 ,   50.    ,\n",
       "         15.5   ,   26.55  ,   15.5   ,    7.8958,   13.    ,   13.    ,\n",
       "          7.8542,   26.    ,   27.7208,  146.5208,    7.75  ,    8.4042,\n",
       "          7.75  ,   13.    ,    9.5   ,   69.55  ,    6.4958,    7.225 ,\n",
       "          8.05  ,   10.4625,   15.85  ,   18.7875,    7.75  ,   31.    ,\n",
       "          7.05  ,   21.    ,    7.25  ,   13.    ,    7.75  ,  113.275 ,\n",
       "          7.925 ,   27.    ,   76.2917,   10.5   ,    8.05  ,   13.    ,\n",
       "          8.05  ,    7.8958,   90.    ,    9.35  ,   10.5   ,    7.25  ,\n",
       "         13.    ,   25.4667,   83.475 ,    7.775 ,   13.5   ,   31.3875,\n",
       "         10.5   ,    7.55  ,   26.    ,   26.25  ,   10.5   ,   12.275 ,\n",
       "         14.4542,   15.5   ,   10.5   ,    7.125 ,    7.225 ,   90.    ,\n",
       "          7.775 ,   14.5   ,   52.5542,   26.    ,    7.25  ,   10.4625,\n",
       "         26.55  ,   16.1   ,   20.2125,   15.2458,   79.2   ,   86.5   ,\n",
       "        512.3292,   26.    ,    7.75  ,   31.3875,   79.65  ,    0.    ,\n",
       "          7.75  ,   10.5   ,   39.6875,    7.775 ,  153.4625,  135.6333,\n",
       "         31.    ,    0.    ,   19.5   ,   29.7   ,    7.75  ,   77.9583,\n",
       "          7.75  ,    0.    ,   29.125 ,   20.25  ,    7.75  ,    7.8542,\n",
       "          9.5   ,    8.05  ,   26.    ,    8.6625,    9.5   ,    7.8958,\n",
       "         13.    ,    7.75  ,   78.85  ,   91.0792,   12.875 ,    8.85  ,\n",
       "          7.8958,   27.7208,    7.2292,  151.55  ,   30.5   ,  247.5208,\n",
       "          7.75  ,   23.25  ,    0.    ,   12.35  ,    8.05  ,  151.55  ,\n",
       "        110.8833,  108.9   ,   24.    ,   56.9292,   83.1583,  262.375 ,\n",
       "         26.    ,    7.8958,   26.25  ,    7.8542,   26.    ,   14.    ,\n",
       "        164.8667,  134.5   ,    7.25  ,    7.8958,   12.35  ,   29.    ,\n",
       "         69.55  ,  135.6333,    6.2375,   13.    ,   20.525 ,   57.9792,\n",
       "         23.25  ,   28.5   ,  153.4625,   18.    ,  133.65  ,    7.8958,\n",
       "         66.6   ,  134.5   ,    8.05  ,   35.5   ,   26.    ,  263.    ,\n",
       "         13.    ,   13.    ,   13.    ,   13.    ,   13.    ,   16.1   ,\n",
       "         15.9   ,    8.6625,    9.225 ,   35.    ,    7.2292,   17.8   ,\n",
       "          7.225 ,    9.5   ,   55.    ,   13.    ,    7.8792,    7.8792,\n",
       "         27.9   ,   27.7208,   14.4542,    7.05  ,   15.5   ,    7.25  ,\n",
       "         75.25  ,    7.2292,    7.75  ,   69.3   ,   55.4417,    6.4958,\n",
       "          8.05  ,  135.6333,   21.075 ,   82.1708,    7.25  ,  211.5   ,\n",
       "          4.0125,    7.775 ,  227.525 ,   15.7417,    7.925 ,   52.    ,\n",
       "          7.8958,   73.5   ,   46.9   ,   13.    ,    7.7292,   12.    ,\n",
       "        120.    ,    7.7958,    7.925 ,  113.275 ,   16.7   ,    7.7958,\n",
       "          7.8542,   26.    ,   10.5   ,   12.65  ,    7.925 ,    8.05  ,\n",
       "          9.825 ,   15.85  ,    8.6625,   21.    ,    7.75  ,   18.75  ,\n",
       "          7.775 ,   25.4667,    7.8958,    6.8583,   90.    ,    0.    ,\n",
       "          7.925 ,    8.05  ,   32.5   ,   13.    ,   13.    ,   24.15  ,\n",
       "          7.8958,    7.7333,    7.875 ,   14.4   ,   20.2125,    7.25  ,\n",
       "         26.    ,   26.    ,    7.75  ,    8.05  ,   26.55  ,   16.1   ,\n",
       "         26.    ,    7.125 ,   55.9   ,  120.    ,   34.375 ,   18.75  ,\n",
       "        263.    ,   10.5   ,   26.25  ,    9.5   ,    7.775 ,   13.    ,\n",
       "          8.1125,   81.8583,   19.5   ,   26.55  ,   19.2583,   30.5   ,\n",
       "         27.75  ,   19.9667,   27.75  ,   89.1042,    8.05  ,    7.8958,\n",
       "         26.55  ,   51.8625,   10.5   ,    7.75  ,   26.55  ,    8.05  ,\n",
       "         38.5   ,   13.    ,    8.05  ,    7.05  ,    0.    ,   26.55  ,\n",
       "          7.725 ,   19.2583,    7.25  ,    8.6625,   27.75  ,   13.7917,\n",
       "          9.8375,   52.    ,   21.    ,    7.0458,    7.5208,   12.2875,\n",
       "         46.9   ,    0.    ,    8.05  ,    9.5875,   91.0792,   25.4667,\n",
       "         90.    ,   29.7   ,    8.05  ,   15.9   ,   19.9667,    7.25  ,\n",
       "         30.5   ,   49.5042,    8.05  ,   14.4583,   78.2667,   15.1   ,\n",
       "        151.55  ,    7.7958,    8.6625,    7.75  ,    7.6292,    9.5875,\n",
       "         86.5   ,  108.9   ,   26.    ,   26.55  ,   22.525 ,   56.4958,\n",
       "          7.75  ,    8.05  ,   26.2875,   59.4   ,    7.4958,   34.0208,\n",
       "         10.5   ,   24.15  ,   26.    ,    7.8958,   93.5   ,    7.8958,\n",
       "          7.225 ,   57.9792,    7.2292,    7.75  ,   10.5   ,  221.7792,\n",
       "          7.925 ,   11.5   ,   26.    ,    7.2292,    7.2292,   22.3583,\n",
       "          8.6625,   26.25  ,   26.55  ,  106.425 ,   14.5   ,   49.5   ,\n",
       "         71.    ,   31.275 ,   31.275 ,   26.    ,  106.425 ,   26.    ,\n",
       "         26.    ,   13.8625,   20.525 ,   36.75  ,  110.8833,   26.    ,\n",
       "          7.8292,    7.225 ,    7.775 ,   26.55  ,   39.6   ,  227.525 ,\n",
       "         79.65  ,   17.4   ,    7.75  ,    7.8958,   13.5   ,    8.05  ,\n",
       "          8.05  ,   24.15  ,    7.8958,   21.075 ,    7.2292,    7.8542,\n",
       "         10.5   ,   51.4792,   26.3875,    7.75  ,    8.05  ,   14.5   ,\n",
       "         13.    ,   55.9   ,   14.4583,    7.925 ,   30.    ,  110.8833,\n",
       "         26.    ,   40.125 ,    8.7125,   79.65  ,   15.    ,   79.2   ,\n",
       "          8.05  ,    8.05  ,    7.125 ,   78.2667,    7.25  ,    7.75  ,\n",
       "         26.    ,   24.15  ,   33.    ,    0.    ,    7.225 ,   56.9292,\n",
       "         27.    ,    7.8958,   42.4   ,    8.05  ,   26.55  ,   15.55  ,\n",
       "          7.8958,   30.5   ,   41.5792,  153.4625,   31.275 ,    7.05  ,\n",
       "         15.5   ,    7.75  ,    8.05  ,   65.    ,   14.4   ,   16.1   ,\n",
       "         39.    ,   10.5   ,   14.4542,   52.5542,   15.7417,    7.8542,\n",
       "         16.1   ,   32.3208,   12.35  ,   77.9583,    7.8958,    7.7333,\n",
       "         30.    ,    7.0542,   30.5   ,    0.    ,   27.9   ,   13.    ,\n",
       "          7.925 ,   26.25  ,   39.6875,   16.1   ,    7.8542,   69.3   ,\n",
       "         27.9   ,   56.4958,   19.2583,   76.7292,    7.8958,   35.5   ,\n",
       "          7.55  ,    7.55  ,    7.8958,   23.    ,    8.4333,    7.8292,\n",
       "          6.75  ,   73.5   ,    7.8958,   15.5   ,   13.    ,  113.275 ,\n",
       "        133.65  ,    7.225 ,   25.5875,    7.4958,    7.925 ,   73.5   ,\n",
       "         13.    ,    7.775 ,    8.05  ,   52.    ,   39.    ,   52.    ,\n",
       "         10.5   ,   13.    ,    0.    ,    7.775 ,    8.05  ,    9.8417,\n",
       "         46.9   ,  512.3292,    8.1375,   76.7292,    9.225 ,   46.9   ,\n",
       "         39.    ,   41.5792,   39.6875,   10.1708,    7.7958,  211.3375,\n",
       "         57.    ,   13.4167,   56.4958,    7.225 ,   26.55  ,   13.5   ,\n",
       "          8.05  ,    7.7333,  110.8833,    7.65  ,  227.525 ,   26.2875,\n",
       "         14.4542,    7.7417,    7.8542,   26.    ,   13.5   ,   26.2875,\n",
       "        151.55  ,   15.2458,   49.5042,   26.55  ,   52.    ,    9.4833,\n",
       "         13.    ,    7.65  ,  227.525 ,   10.5   ,   15.5   ,    7.775 ,\n",
       "         33.    ,    7.0542,   13.    ,   13.    ,   53.1   ,    8.6625,\n",
       "         21.    ,    7.7375,   26.    ,    7.925 ,  211.3375,   18.7875,\n",
       "          0.    ,   13.    ,   13.    ,   16.1   ,   34.375 ,  512.3292,\n",
       "          7.8958,    7.8958,   30.    ,   78.85  ,  262.375 ,   16.1   ,\n",
       "          7.925 ,   71.    ,   20.25  ,   13.    ,   53.1   ,    7.75  ,\n",
       "         23.    ,   12.475 ,    9.5   ,    7.8958,   65.    ,   14.5   ,\n",
       "          7.7958,   11.5   ,    8.05  ,   86.5   ,   14.5   ,    7.125 ,\n",
       "          7.2292,  120.    ,    7.775 ,   77.9583,   39.6   ,    7.75  ,\n",
       "         24.15  ,    8.3625,    9.5   ,    7.8542,   10.5   ,    7.225 ,\n",
       "         23.    ,    7.75  ,    7.75  ,   12.475 ,    7.7375,  211.3375,\n",
       "          7.2292,   57.    ,   30.    ,   23.45  ,    7.05  ,    7.25  ,\n",
       "          7.4958,   29.125 ,   20.575 ,   79.2   ,    7.75  ,   26.    ,\n",
       "         69.55  ,   30.6958,    7.8958,   13.    ,   25.9292,    8.6833,\n",
       "          7.2292,   24.15  ,   13.    ,   26.25  ,  120.    ,    8.5167,\n",
       "          6.975 ,    7.775 ,    0.    ,    7.775 ,   13.    ,   53.1   ,\n",
       "          7.8875,   24.15  ,   10.5   ,   31.275 ,    8.05  ,    0.    ,\n",
       "          7.925 ,   37.0042,    6.45  ,   27.9   ,   93.5   ,    8.6625,\n",
       "          0.    ,   12.475 ,   39.6875,    6.95  ,   56.4958,   37.0042,\n",
       "          7.75  ,   80.    ,   14.4542,   18.75  ,    7.2292,    7.8542,\n",
       "          8.3   ,   83.1583,    8.6625,    8.05  ,   56.4958,   29.7   ,\n",
       "          7.925 ,   10.5   ,   31.    ,    6.4375,    8.6625,    7.55  ,\n",
       "         69.55  ,    7.8958,   33.    ,   89.1042,   31.275 ,    7.775 ,\n",
       "         15.2458,   39.4   ,   26.    ,    9.35  ,  164.8667,   26.55  ,\n",
       "         19.2583,    7.2292,   14.1083,   11.5   ,   25.9292,   69.55  ,\n",
       "         13.    ,   13.    ,   13.8583,   50.4958,    9.5   ,   11.1333,\n",
       "          7.8958,   52.5542,    5.    ,    9.    ,   24.    ,    7.225 ,\n",
       "          9.8458,    7.8958,    7.8958,   83.1583,   26.    ,    7.8958,\n",
       "         10.5167,   10.5   ,    7.05  ,   29.125 ,   13.    ,   30.    ,\n",
       "         23.45  ,   30.    ,    7.75  ])"
      ]
     },
     "execution_count": 124,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.Fare.values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Embarked\n",
    "\n",
    "登陆港口和存活率分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7fc90859b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "alive = df.Embarked[df.Survived == 1].value_counts()\n",
    "die = df.Embarked[df.Survived == 0].value_counts()\n",
    "\n",
    "_df = pd.DataFrame({'alive': alive, 'die': die})\n",
    "_df.plot(kind='bar', stacked = True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到登陆港口和存活率还是有一定关联的，而且登陆港口数据存在部分缺失，我们应该要挖掘缺失的部分的影响"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Name \n",
    "\n",
    "因为男生女生的姓名一般不同，给一个姓名大多数情况下可以分辨出性别。虽然分出了性别，但是Miss和Mrs.都是female称呼不同可能年龄也不同，而年龄又存在部分缺失，因此我们需要将名字考虑在内。具体的处理在特征工程部分给出"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['Braund, Mr. Owen Harris',\n",
       "       'Cumings, Mrs. John Bradley (Florence Briggs Thayer)',\n",
       "       'Heikkinen, Miss. Laina',\n",
       "       'Futrelle, Mrs. Jacques Heath (Lily May Peel)',\n",
       "       'Allen, Mr. William Henry', 'Moran, Mr. James',\n",
       "       'McCarthy, Mr. Timothy J', 'Palsson, Master. Gosta Leonard',\n",
       "       'Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)',\n",
       "       'Nasser, Mrs. Nicholas (Adele Achem)',\n",
       "       'Sandstrom, Miss. Marguerite Rut', 'Bonnell, Miss. Elizabeth',\n",
       "       'Saundercock, Mr. William Henry', 'Andersson, Mr. Anders Johan',\n",
       "       'Vestrom, Miss. Hulda Amanda Adolfina',\n",
       "       'Hewlett, Mrs. (Mary D Kingcome) ', 'Rice, Master. Eugene',\n",
       "       'Williams, Mr. Charles Eugene',\n",
       "       'Vander Planke, Mrs. Julius (Emelia Maria Vandemoortele)',\n",
       "       'Masselmani, Mrs. Fatima', 'Fynney, Mr. Joseph J',\n",
       "       'Beesley, Mr. Lawrence', 'McGowan, Miss. Anna \"Annie\"',\n",
       "       'Sloper, Mr. William Thompson', 'Palsson, Miss. Torborg Danira',\n",
       "       'Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson)',\n",
       "       'Emir, Mr. Farred Chehab', 'Fortune, Mr. Charles Alexander',\n",
       "       'O\\'Dwyer, Miss. Ellen \"Nellie\"', 'Todoroff, Mr. Lalio',\n",
       "       'Uruchurtu, Don. Manuel E',\n",
       "       'Spencer, Mrs. William Augustus (Marie Eugenie)',\n",
       "       'Glynn, Miss. Mary Agatha', 'Wheadon, Mr. Edward H',\n",
       "       'Meyer, Mr. Edgar Joseph', 'Holverson, Mr. Alexander Oskar',\n",
       "       'Mamee, Mr. Hanna', 'Cann, Mr. Ernest Charles',\n",
       "       'Vander Planke, Miss. Augusta Maria', 'Nicola-Yarred, Miss. Jamila',\n",
       "       'Ahlin, Mrs. Johan (Johanna Persdotter Larsson)',\n",
       "       'Turpin, Mrs. William John Robert (Dorothy Ann Wonnacott)',\n",
       "       'Kraeff, Mr. Theodor', 'Laroche, Miss. Simonne Marie Anne Andree',\n",
       "       'Devaney, Miss. Margaret Delia', 'Rogers, Mr. William John',\n",
       "       'Lennon, Mr. Denis', \"O'Driscoll, Miss. Bridget\",\n",
       "       'Samaan, Mr. Youssef',\n",
       "       'Arnold-Franchi, Mrs. Josef (Josefine Franchi)',\n",
       "       'Panula, Master. Juha Niilo', 'Nosworthy, Mr. Richard Cater',\n",
       "       'Harper, Mrs. Henry Sleeper (Myna Haxtun)',\n",
       "       'Faunthorpe, Mrs. Lizzie (Elizabeth Anne Wilkinson)',\n",
       "       'Ostby, Mr. Engelhart Cornelius', 'Woolner, Mr. Hugh',\n",
       "       'Rugg, Miss. Emily', 'Novel, Mr. Mansouer',\n",
       "       'West, Miss. Constance Mirium',\n",
       "       'Goodwin, Master. William Frederick', 'Sirayanian, Mr. Orsen',\n",
       "       'Icard, Miss. Amelie', 'Harris, Mr. Henry Birkhardt',\n",
       "       'Skoog, Master. Harald', 'Stewart, Mr. Albert A',\n",
       "       'Moubarek, Master. Gerios', 'Nye, Mrs. (Elizabeth Ramell)',\n",
       "       'Crease, Mr. Ernest James', 'Andersson, Miss. Erna Alexandra',\n",
       "       'Kink, Mr. Vincenz', 'Jenkin, Mr. Stephen Curnow',\n",
       "       'Goodwin, Miss. Lillian Amy', 'Hood, Mr. Ambrose Jr',\n",
       "       'Chronopoulos, Mr. Apostolos', 'Bing, Mr. Lee',\n",
       "       'Moen, Mr. Sigurd Hansen', 'Staneff, Mr. Ivan',\n",
       "       'Moutal, Mr. Rahamin Haim', 'Caldwell, Master. Alden Gates',\n",
       "       'Dowdell, Miss. Elizabeth', 'Waelens, Mr. Achille',\n",
       "       'Sheerlinck, Mr. Jan Baptist', 'McDermott, Miss. Brigdet Delia',\n",
       "       'Carrau, Mr. Francisco M', 'Ilett, Miss. Bertha',\n",
       "       'Backstrom, Mrs. Karl Alfred (Maria Mathilda Gustafsson)',\n",
       "       'Ford, Mr. William Neal', 'Slocovski, Mr. Selman Francis',\n",
       "       'Fortune, Miss. Mabel Helen', 'Celotti, Mr. Francesco',\n",
       "       'Christmann, Mr. Emil', 'Andreasson, Mr. Paul Edvin',\n",
       "       'Chaffee, Mr. Herbert Fuller', 'Dean, Mr. Bertram Frank',\n",
       "       'Coxon, Mr. Daniel', 'Shorney, Mr. Charles Joseph',\n",
       "       'Goldschmidt, Mr. George B', 'Greenfield, Mr. William Bertram',\n",
       "       'Doling, Mrs. John T (Ada Julia Bone)', 'Kantor, Mr. Sinai',\n",
       "       'Petranec, Miss. Matilda', 'Petroff, Mr. Pastcho (\"Pentcho\")',\n",
       "       'White, Mr. Richard Frasar', 'Johansson, Mr. Gustaf Joel',\n",
       "       'Gustafsson, Mr. Anders Vilhelm', 'Mionoff, Mr. Stoytcho',\n",
       "       'Salkjelsvik, Miss. Anna Kristine', 'Moss, Mr. Albert Johan',\n",
       "       'Rekic, Mr. Tido', 'Moran, Miss. Bertha',\n",
       "       'Porter, Mr. Walter Chamberlain', 'Zabour, Miss. Hileni',\n",
       "       'Barton, Mr. David John', 'Jussila, Miss. Katriina',\n",
       "       'Attalah, Miss. Malake', 'Pekoniemi, Mr. Edvard',\n",
       "       'Connors, Mr. Patrick', 'Turpin, Mr. William John Robert',\n",
       "       'Baxter, Mr. Quigg Edmond', 'Andersson, Miss. Ellis Anna Maria',\n",
       "       'Hickman, Mr. Stanley George', 'Moore, Mr. Leonard Charles',\n",
       "       'Nasser, Mr. Nicholas', 'Webber, Miss. Susan',\n",
       "       'White, Mr. Percival Wayland', 'Nicola-Yarred, Master. Elias',\n",
       "       'McMahon, Mr. Martin', 'Madsen, Mr. Fridtjof Arne',\n",
       "       'Peter, Miss. Anna', 'Ekstrom, Mr. Johan', 'Drazenoic, Mr. Jozef',\n",
       "       'Coelho, Mr. Domingos Fernandeo',\n",
       "       'Robins, Mrs. Alexander A (Grace Charity Laury)',\n",
       "       'Weisz, Mrs. Leopold (Mathilde Francoise Pede)',\n",
       "       'Sobey, Mr. Samuel James Hayden', 'Richard, Mr. Emile',\n",
       "       'Newsom, Miss. Helen Monypeny', 'Futrelle, Mr. Jacques Heath',\n",
       "       'Osen, Mr. Olaf Elon', 'Giglio, Mr. Victor',\n",
       "       'Boulos, Mrs. Joseph (Sultana)', 'Nysten, Miss. Anna Sofia',\n",
       "       'Hakkarainen, Mrs. Pekka Pietari (Elin Matilda Dolck)',\n",
       "       'Burke, Mr. Jeremiah', 'Andrew, Mr. Edgardo Samuel',\n",
       "       'Nicholls, Mr. Joseph Charles',\n",
       "       'Andersson, Mr. August Edvard (\"Wennerstrom\")',\n",
       "       'Ford, Miss. Robina Maggie \"Ruby\"',\n",
       "       'Navratil, Mr. Michel (\"Louis M Hoffman\")',\n",
       "       'Byles, Rev. Thomas Roussel Davids', 'Bateman, Rev. Robert James',\n",
       "       'Pears, Mrs. Thomas (Edith Wearne)', 'Meo, Mr. Alfonzo',\n",
       "       'van Billiard, Mr. Austin Blyler', 'Olsen, Mr. Ole Martin',\n",
       "       'Williams, Mr. Charles Duane', 'Gilnagh, Miss. Katherine \"Katie\"',\n",
       "       'Corn, Mr. Harry', 'Smiljanic, Mr. Mile',\n",
       "       'Sage, Master. Thomas Henry', 'Cribb, Mr. John Hatfield',\n",
       "       'Watt, Mrs. James (Elizabeth \"Bessie\" Inglis Milne)',\n",
       "       'Bengtsson, Mr. John Viktor', 'Calic, Mr. Jovo',\n",
       "       'Panula, Master. Eino Viljami',\n",
       "       'Goldsmith, Master. Frank John William \"Frankie\"',\n",
       "       'Chibnall, Mrs. (Edith Martha Bowerman)',\n",
       "       'Skoog, Mrs. William (Anna Bernhardina Karlsson)',\n",
       "       'Baumann, Mr. John D', 'Ling, Mr. Lee', 'Van der hoef, Mr. Wyckoff',\n",
       "       'Rice, Master. Arthur', 'Johnson, Miss. Eleanor Ileen',\n",
       "       'Sivola, Mr. Antti Wilhelm', 'Smith, Mr. James Clinch',\n",
       "       'Klasen, Mr. Klas Albin', 'Lefebre, Master. Henry Forbes',\n",
       "       'Isham, Miss. Ann Elizabeth', 'Hale, Mr. Reginald',\n",
       "       'Leonard, Mr. Lionel', 'Sage, Miss. Constance Gladys',\n",
       "       'Pernot, Mr. Rene', 'Asplund, Master. Clarence Gustaf Hugo',\n",
       "       'Becker, Master. Richard F', 'Kink-Heilmann, Miss. Luise Gretchen',\n",
       "       'Rood, Mr. Hugh Roscoe',\n",
       "       'O\\'Brien, Mrs. Thomas (Johanna \"Hannah\" Godfrey)',\n",
       "       'Romaine, Mr. Charles Hallace (\"Mr C Rolmane\")', 'Bourke, Mr. John',\n",
       "       'Turcin, Mr. Stjepan', 'Pinsky, Mrs. (Rosa)',\n",
       "       'Carbines, Mr. William',\n",
       "       'Andersen-Jensen, Miss. Carla Christine Nielsine',\n",
       "       'Navratil, Master. Michel M',\n",
       "       'Brown, Mrs. James Joseph (Margaret Tobin)', 'Lurette, Miss. Elise',\n",
       "       'Mernagh, Mr. Robert', 'Olsen, Mr. Karl Siegwart Andreas',\n",
       "       'Madigan, Miss. Margaret \"Maggie\"',\n",
       "       'Yrois, Miss. Henriette (\"Mrs Harbeck\")',\n",
       "       'Vande Walle, Mr. Nestor Cyriel', 'Sage, Mr. Frederick',\n",
       "       'Johanson, Mr. Jakob Alfred', 'Youseff, Mr. Gerious',\n",
       "       'Cohen, Mr. Gurshon \"Gus\"', 'Strom, Miss. Telma Matilda',\n",
       "       'Backstrom, Mr. Karl Alfred', 'Albimona, Mr. Nassef Cassem',\n",
       "       'Carr, Miss. Helen \"Ellen\"', 'Blank, Mr. Henry', 'Ali, Mr. Ahmed',\n",
       "       'Cameron, Miss. Clear Annie', 'Perkin, Mr. John Henry',\n",
       "       'Givard, Mr. Hans Kristensen', 'Kiernan, Mr. Philip',\n",
       "       'Newell, Miss. Madeleine', 'Honkanen, Miss. Eliina',\n",
       "       'Jacobsohn, Mr. Sidney Samuel', 'Bazzani, Miss. Albina',\n",
       "       'Harris, Mr. Walter', 'Sunderland, Mr. Victor Francis',\n",
       "       'Bracken, Mr. James H', 'Green, Mr. George Henry',\n",
       "       'Nenkoff, Mr. Christo', 'Hoyt, Mr. Frederick Maxfield',\n",
       "       'Berglund, Mr. Karl Ivar Sven', 'Mellors, Mr. William John',\n",
       "       'Lovell, Mr. John Hall (\"Henry\")', 'Fahlstrom, Mr. Arne Jonas',\n",
       "       'Lefebre, Miss. Mathilde',\n",
       "       'Harris, Mrs. Henry Birkhardt (Irene Wallach)',\n",
       "       'Larsson, Mr. Bengt Edvin', 'Sjostedt, Mr. Ernst Adolf',\n",
       "       'Asplund, Miss. Lillian Gertrud',\n",
       "       'Leyson, Mr. Robert William Norman', 'Harknett, Miss. Alice Phoebe',\n",
       "       'Hold, Mr. Stephen', 'Collyer, Miss. Marjorie \"Lottie\"',\n",
       "       'Pengelly, Mr. Frederick William', 'Hunt, Mr. George Henry',\n",
       "       'Zabour, Miss. Thamine', 'Murphy, Miss. Katherine \"Kate\"',\n",
       "       'Coleridge, Mr. Reginald Charles', 'Maenpaa, Mr. Matti Alexanteri',\n",
       "       'Attalah, Mr. Sleiman', 'Minahan, Dr. William Edward',\n",
       "       'Lindahl, Miss. Agda Thorilda Viktoria',\n",
       "       'Hamalainen, Mrs. William (Anna)', 'Beckwith, Mr. Richard Leonard',\n",
       "       'Carter, Rev. Ernest Courtenay', 'Reed, Mr. James George',\n",
       "       'Strom, Mrs. Wilhelm (Elna Matilda Persson)',\n",
       "       'Stead, Mr. William Thomas', 'Lobb, Mr. William Arthur',\n",
       "       'Rosblom, Mrs. Viktor (Helena Wilhelmina)',\n",
       "       'Touma, Mrs. Darwis (Hanne Youssef Razi)',\n",
       "       'Thorne, Mrs. Gertrude Maybelle', 'Cherry, Miss. Gladys',\n",
       "       'Ward, Miss. Anna', 'Parrish, Mrs. (Lutie Davis)',\n",
       "       'Smith, Mr. Thomas', 'Asplund, Master. Edvin Rojj Felix',\n",
       "       'Taussig, Mr. Emil', 'Harrison, Mr. William', 'Henry, Miss. Delia',\n",
       "       'Reeves, Mr. David', 'Panula, Mr. Ernesti Arvid',\n",
       "       'Persson, Mr. Ernst Ulrik',\n",
       "       'Graham, Mrs. William Thompson (Edith Junkins)',\n",
       "       'Bissette, Miss. Amelia', 'Cairns, Mr. Alexander',\n",
       "       'Tornquist, Mr. William Henry',\n",
       "       'Mellinger, Mrs. (Elizabeth Anne Maidment)',\n",
       "       'Natsch, Mr. Charles H', 'Healy, Miss. Hanora \"Nora\"',\n",
       "       'Andrews, Miss. Kornelia Theodosia',\n",
       "       'Lindblom, Miss. Augusta Charlotta', 'Parkes, Mr. Francis \"Frank\"',\n",
       "       'Rice, Master. Eric', 'Abbott, Mrs. Stanton (Rosa Hunt)',\n",
       "       'Duane, Mr. Frank', 'Olsson, Mr. Nils Johan Goransson',\n",
       "       'de Pelsmaeker, Mr. Alfons', 'Dorking, Mr. Edward Arthur',\n",
       "       'Smith, Mr. Richard William', 'Stankovic, Mr. Ivan',\n",
       "       'de Mulder, Mr. Theodore', 'Naidenoff, Mr. Penko',\n",
       "       'Hosono, Mr. Masabumi', 'Connolly, Miss. Kate',\n",
       "       'Barber, Miss. Ellen \"Nellie\"',\n",
       "       'Bishop, Mrs. Dickinson H (Helen Walton)', 'Levy, Mr. Rene Jacques',\n",
       "       'Haas, Miss. Aloisia', 'Mineff, Mr. Ivan', 'Lewy, Mr. Ervin G',\n",
       "       'Hanna, Mr. Mansour', 'Allison, Miss. Helen Loraine',\n",
       "       'Saalfeld, Mr. Adolphe',\n",
       "       'Baxter, Mrs. James (Helene DeLaudeniere Chaput)',\n",
       "       'Kelly, Miss. Anna Katherine \"Annie Kate\"', 'McCoy, Mr. Bernard',\n",
       "       'Johnson, Mr. William Cahoone Jr', 'Keane, Miss. Nora A',\n",
       "       'Williams, Mr. Howard Hugh \"Harry\"',\n",
       "       'Allison, Master. Hudson Trevor', 'Fleming, Miss. Margaret',\n",
       "       'Penasco y Castellana, Mrs. Victor de Satode (Maria Josefa Perez de Soto y Vallejo)',\n",
       "       'Abelson, Mr. Samuel', 'Francatelli, Miss. Laura Mabel',\n",
       "       'Hays, Miss. Margaret Bechstein', 'Ryerson, Miss. Emily Borie',\n",
       "       'Lahtinen, Mrs. William (Anna Sylfven)', 'Hendekovic, Mr. Ignjac',\n",
       "       'Hart, Mr. Benjamin', 'Nilsson, Miss. Helmina Josefina',\n",
       "       'Kantor, Mrs. Sinai (Miriam Sternin)', 'Moraweck, Dr. Ernest',\n",
       "       'Wick, Miss. Mary Natalie',\n",
       "       'Spedden, Mrs. Frederic Oakley (Margaretta Corning Stone)',\n",
       "       'Dennis, Mr. Samuel', 'Danoff, Mr. Yoto',\n",
       "       'Slayter, Miss. Hilda Mary',\n",
       "       'Caldwell, Mrs. Albert Francis (Sylvia Mae Harbaugh)',\n",
       "       'Sage, Mr. George John Jr', 'Young, Miss. Marie Grice',\n",
       "       'Nysveen, Mr. Johan Hansen', 'Ball, Mrs. (Ada E Hall)',\n",
       "       'Goldsmith, Mrs. Frank John (Emily Alice Brown)',\n",
       "       'Hippach, Miss. Jean Gertrude', 'McCoy, Miss. Agnes',\n",
       "       'Partner, Mr. Austen', 'Graham, Mr. George Edward',\n",
       "       'Vander Planke, Mr. Leo Edmondus',\n",
       "       'Frauenthal, Mrs. Henry William (Clara Heinsheimer)',\n",
       "       'Denkoff, Mr. Mitto', 'Pears, Mr. Thomas Clinton',\n",
       "       'Burns, Miss. Elizabeth Margaret', 'Dahl, Mr. Karl Edwart',\n",
       "       'Blackwell, Mr. Stephen Weart', 'Navratil, Master. Edmond Roger',\n",
       "       'Fortune, Miss. Alice Elizabeth', 'Collander, Mr. Erik Gustaf',\n",
       "       'Sedgwick, Mr. Charles Frederick Waddington',\n",
       "       'Fox, Mr. Stanley Hubert', 'Brown, Miss. Amelia \"Mildred\"',\n",
       "       'Smith, Miss. Marion Elsie',\n",
       "       'Davison, Mrs. Thomas Henry (Mary E Finck)',\n",
       "       'Coutts, Master. William Loch \"William\"', 'Dimic, Mr. Jovan',\n",
       "       'Odahl, Mr. Nils Martin', 'Williams-Lambert, Mr. Fletcher Fellows',\n",
       "       'Elias, Mr. Tannous', 'Arnold-Franchi, Mr. Josef',\n",
       "       'Yousif, Mr. Wazli', 'Vanden Steen, Mr. Leo Peter',\n",
       "       'Bowerman, Miss. Elsie Edith', 'Funk, Miss. Annie Clemmer',\n",
       "       'McGovern, Miss. Mary', 'Mockler, Miss. Helen Mary \"Ellie\"',\n",
       "       'Skoog, Mr. Wilhelm', 'del Carlo, Mr. Sebastiano',\n",
       "       'Barbara, Mrs. (Catherine David)', 'Asim, Mr. Adola',\n",
       "       \"O'Brien, Mr. Thomas\", 'Adahl, Mr. Mauritz Nils Martin',\n",
       "       'Warren, Mrs. Frank Manley (Anna Sophia Atkinson)',\n",
       "       'Moussa, Mrs. (Mantoura Boulos)', 'Jermyn, Miss. Annie',\n",
       "       'Aubart, Mme. Leontine Pauline', 'Harder, Mr. George Achilles',\n",
       "       'Wiklund, Mr. Jakob Alfred', 'Beavan, Mr. William Thomas',\n",
       "       'Ringhini, Mr. Sante', 'Palsson, Miss. Stina Viola',\n",
       "       'Meyer, Mrs. Edgar Joseph (Leila Saks)',\n",
       "       'Landergren, Miss. Aurora Adelia', 'Widener, Mr. Harry Elkins',\n",
       "       'Betros, Mr. Tannous', 'Gustafsson, Mr. Karl Gideon',\n",
       "       'Bidois, Miss. Rosalie', 'Nakid, Miss. Maria (\"Mary\")',\n",
       "       'Tikkanen, Mr. Juho',\n",
       "       'Holverson, Mrs. Alexander Oskar (Mary Aline Towner)',\n",
       "       'Plotcharsky, Mr. Vasil', 'Davies, Mr. Charles Henry',\n",
       "       'Goodwin, Master. Sidney Leonard', 'Buss, Miss. Kate',\n",
       "       'Sadlier, Mr. Matthew', 'Lehmann, Miss. Bertha',\n",
       "       'Carter, Mr. William Ernest', 'Jansson, Mr. Carl Olof',\n",
       "       'Gustafsson, Mr. Johan Birger', 'Newell, Miss. Marjorie',\n",
       "       'Sandstrom, Mrs. Hjalmar (Agnes Charlotta Bengtsson)',\n",
       "       'Johansson, Mr. Erik', 'Olsson, Miss. Elina',\n",
       "       'McKane, Mr. Peter David', 'Pain, Dr. Alfred',\n",
       "       'Trout, Mrs. William H (Jessie L)', 'Niskanen, Mr. Juha',\n",
       "       'Adams, Mr. John', 'Jussila, Miss. Mari Aina',\n",
       "       'Hakkarainen, Mr. Pekka Pietari', 'Oreskovic, Miss. Marija',\n",
       "       'Gale, Mr. Shadrach', 'Widegren, Mr. Carl/Charles Peter',\n",
       "       'Richards, Master. William Rowe',\n",
       "       'Birkeland, Mr. Hans Martin Monsen', 'Lefebre, Miss. Ida',\n",
       "       'Sdycoff, Mr. Todor', 'Hart, Mr. Henry', 'Minahan, Miss. Daisy E',\n",
       "       'Cunningham, Mr. Alfred Fleming', 'Sundman, Mr. Johan Julian',\n",
       "       'Meek, Mrs. Thomas (Annie Louise Rowley)',\n",
       "       'Drew, Mrs. James Vivian (Lulu Thorne Christian)',\n",
       "       'Silven, Miss. Lyyli Karoliina', 'Matthews, Mr. William John',\n",
       "       'Van Impe, Miss. Catharina', 'Gheorgheff, Mr. Stanio',\n",
       "       'Charters, Mr. David', 'Zimmerman, Mr. Leo',\n",
       "       'Danbom, Mrs. Ernst Gilbert (Anna Sigrid Maria Brogren)',\n",
       "       'Rosblom, Mr. Viktor Richard', 'Wiseman, Mr. Phillippe',\n",
       "       'Clarke, Mrs. Charles V (Ada Maria Winfield)',\n",
       "       'Phillips, Miss. Kate Florence (\"Mrs Kate Louise Phillips Marshall\")',\n",
       "       'Flynn, Mr. James', 'Pickard, Mr. Berk (Berk Trembisky)',\n",
       "       'Bjornstrom-Steffansson, Mr. Mauritz Hakan',\n",
       "       'Thorneycroft, Mrs. Percival (Florence Kate White)',\n",
       "       'Louch, Mrs. Charles Alexander (Alice Adelaide Slow)',\n",
       "       'Kallio, Mr. Nikolai Erland', 'Silvey, Mr. William Baird',\n",
       "       'Carter, Miss. Lucile Polk', 'Ford, Miss. Doolina Margaret \"Daisy\"',\n",
       "       'Richards, Mrs. Sidney (Emily Hocking)', 'Fortune, Mr. Mark',\n",
       "       'Kvillner, Mr. Johan Henrik Johannesson',\n",
       "       'Hart, Mrs. Benjamin (Esther Ada Bloomfield)', 'Hampe, Mr. Leon',\n",
       "       'Petterson, Mr. Johan Emil', 'Reynaldo, Ms. Encarnacion',\n",
       "       'Johannesen-Bratthammer, Mr. Bernt', 'Dodge, Master. Washington',\n",
       "       'Mellinger, Miss. Madeleine Violet', 'Seward, Mr. Frederic Kimber',\n",
       "       'Baclini, Miss. Marie Catherine', 'Peuchen, Major. Arthur Godfrey',\n",
       "       'West, Mr. Edwy Arthur', 'Hagland, Mr. Ingvald Olai Olsen',\n",
       "       'Foreman, Mr. Benjamin Laventall', 'Goldenberg, Mr. Samuel L',\n",
       "       'Peduzzi, Mr. Joseph', 'Jalsevac, Mr. Ivan',\n",
       "       'Millet, Mr. Francis Davis', 'Kenyon, Mrs. Frederick R (Marion)',\n",
       "       'Toomey, Miss. Ellen', \"O'Connor, Mr. Maurice\",\n",
       "       'Anderson, Mr. Harry', 'Morley, Mr. William', 'Gee, Mr. Arthur H',\n",
       "       'Milling, Mr. Jacob Christian', 'Maisner, Mr. Simon',\n",
       "       'Goncalves, Mr. Manuel Estanslas', 'Campbell, Mr. William',\n",
       "       'Smart, Mr. John Montgomery', 'Scanlan, Mr. James',\n",
       "       'Baclini, Miss. Helene Barbara', 'Keefe, Mr. Arthur',\n",
       "       'Cacic, Mr. Luka', 'West, Mrs. Edwy Arthur (Ada Mary Worth)',\n",
       "       'Jerwan, Mrs. Amin S (Marie Marthe Thuillard)',\n",
       "       'Strandberg, Miss. Ida Sofia', 'Clifford, Mr. George Quincy',\n",
       "       'Renouf, Mr. Peter Henry', 'Braund, Mr. Lewis Richard',\n",
       "       'Karlsson, Mr. Nils August', 'Hirvonen, Miss. Hildur E',\n",
       "       'Goodwin, Master. Harold Victor',\n",
       "       'Frost, Mr. Anthony Wood \"Archie\"', 'Rouse, Mr. Richard Henry',\n",
       "       'Turkula, Mrs. (Hedwig)', 'Bishop, Mr. Dickinson H',\n",
       "       'Lefebre, Miss. Jeannie',\n",
       "       'Hoyt, Mrs. Frederick Maxfield (Jane Anne Forby)',\n",
       "       'Kent, Mr. Edward Austin', 'Somerton, Mr. Francis William',\n",
       "       'Coutts, Master. Eden Leslie \"Neville\"',\n",
       "       'Hagland, Mr. Konrad Mathias Reiersen', 'Windelov, Mr. Einar',\n",
       "       'Molson, Mr. Harry Markland', 'Artagaveytia, Mr. Ramon',\n",
       "       'Stanley, Mr. Edward Roland', 'Yousseff, Mr. Gerious',\n",
       "       'Eustis, Miss. Elizabeth Mussey', 'Shellard, Mr. Frederick William',\n",
       "       'Allison, Mrs. Hudson J C (Bessie Waldo Daniels)',\n",
       "       'Svensson, Mr. Olof', 'Calic, Mr. Petar', 'Canavan, Miss. Mary',\n",
       "       \"O'Sullivan, Miss. Bridget Mary\", 'Laitinen, Miss. Kristina Sofia',\n",
       "       'Maioni, Miss. Roberta',\n",
       "       'Penasco y Castellana, Mr. Victor de Satode',\n",
       "       'Quick, Mrs. Frederick Charles (Jane Richards)',\n",
       "       'Bradley, Mr. George (\"George Arthur Brayton\")',\n",
       "       'Olsen, Mr. Henry Margido', 'Lang, Mr. Fang',\n",
       "       'Daly, Mr. Eugene Patrick', 'Webber, Mr. James',\n",
       "       'McGough, Mr. James Robert',\n",
       "       'Rothschild, Mrs. Martin (Elizabeth L. Barrett)',\n",
       "       'Coleff, Mr. Satio', 'Walker, Mr. William Anderson',\n",
       "       'Lemore, Mrs. (Amelia Milley)', 'Ryan, Mr. Patrick',\n",
       "       'Angle, Mrs. William A (Florence \"Mary\" Agnes Hughes)',\n",
       "       'Pavlovic, Mr. Stefo', 'Perreault, Miss. Anne', 'Vovk, Mr. Janko',\n",
       "       'Lahoud, Mr. Sarkis',\n",
       "       'Hippach, Mrs. Louis Albert (Ida Sophia Fischer)',\n",
       "       'Kassem, Mr. Fared', 'Farrell, Mr. James', 'Ridsdale, Miss. Lucy',\n",
       "       'Farthing, Mr. John', 'Salonen, Mr. Johan Werner',\n",
       "       'Hocking, Mr. Richard George', 'Quick, Miss. Phyllis May',\n",
       "       'Toufik, Mr. Nakli', 'Elias, Mr. Joseph Jr',\n",
       "       'Peter, Mrs. Catherine (Catherine Rizk)', 'Cacic, Miss. Marija',\n",
       "       'Hart, Miss. Eva Miriam', 'Butt, Major. Archibald Willingham',\n",
       "       'LeRoy, Miss. Bertha', 'Risien, Mr. Samuel Beard',\n",
       "       'Frolicher, Miss. Hedwig Margaritha', 'Crosby, Miss. Harriet R',\n",
       "       'Andersson, Miss. Ingeborg Constanzia',\n",
       "       'Andersson, Miss. Sigrid Elisabeth', 'Beane, Mr. Edward',\n",
       "       'Douglas, Mr. Walter Donald', 'Nicholson, Mr. Arthur Ernest',\n",
       "       'Beane, Mrs. Edward (Ethel Clarke)', 'Padro y Manent, Mr. Julian',\n",
       "       'Goldsmith, Mr. Frank John', 'Davies, Master. John Morgan Jr',\n",
       "       'Thayer, Mr. John Borland Jr', 'Sharp, Mr. Percival James R',\n",
       "       \"O'Brien, Mr. Timothy\", 'Leeni, Mr. Fahim (\"Philip Zenni\")',\n",
       "       'Ohman, Miss. Velin', 'Wright, Mr. George',\n",
       "       'Duff Gordon, Lady. (Lucille Christiana Sutherland) (\"Mrs Morgan\")',\n",
       "       'Robbins, Mr. Victor', 'Taussig, Mrs. Emil (Tillie Mandelbaum)',\n",
       "       'de Messemaeker, Mrs. Guillaume Joseph (Emma)',\n",
       "       'Morrow, Mr. Thomas Rowan', 'Sivic, Mr. Husein',\n",
       "       'Norman, Mr. Robert Douglas', 'Simmons, Mr. John',\n",
       "       'Meanwell, Miss. (Marion Ogden)', 'Davies, Mr. Alfred J',\n",
       "       'Stoytcheff, Mr. Ilia',\n",
       "       'Palsson, Mrs. Nils (Alma Cornelia Berglund)',\n",
       "       'Doharr, Mr. Tannous', 'Jonsson, Mr. Carl', 'Harris, Mr. George',\n",
       "       'Appleton, Mrs. Edward Dale (Charlotte Lamson)',\n",
       "       'Flynn, Mr. John Irwin (\"Irving\")', 'Kelly, Miss. Mary',\n",
       "       'Rush, Mr. Alfred George John', 'Patchett, Mr. George',\n",
       "       'Garside, Miss. Ethel', 'Silvey, Mrs. William Baird (Alice Munger)',\n",
       "       'Caram, Mrs. Joseph (Maria Elias)', 'Jussila, Mr. Eiriik',\n",
       "       'Christy, Miss. Julie Rachel',\n",
       "       'Thayer, Mrs. John Borland (Marian Longstreth Morris)',\n",
       "       'Downton, Mr. William James', 'Ross, Mr. John Hugo',\n",
       "       'Paulner, Mr. Uscher', 'Taussig, Miss. Ruth',\n",
       "       'Jarvis, Mr. John Denzil', 'Frolicher-Stehli, Mr. Maxmillian',\n",
       "       'Gilinski, Mr. Eliezer', 'Murdlin, Mr. Joseph',\n",
       "       'Rintamaki, Mr. Matti',\n",
       "       'Stephenson, Mrs. Walter Bertram (Martha Eustis)',\n",
       "       'Elsbury, Mr. William James', 'Bourke, Miss. Mary',\n",
       "       'Chapman, Mr. John Henry', 'Van Impe, Mr. Jean Baptiste',\n",
       "       'Leitch, Miss. Jessie Wills', 'Johnson, Mr. Alfred',\n",
       "       'Boulos, Mr. Hanna', 'Duff Gordon, Sir. Cosmo Edmund (\"Mr Morgan\")',\n",
       "       'Jacobsohn, Mrs. Sidney Samuel (Amy Frances Christy)',\n",
       "       'Slabenoff, Mr. Petco', 'Harrington, Mr. Charles H',\n",
       "       'Torber, Mr. Ernst William', 'Homer, Mr. Harry (\"Mr E Haven\")',\n",
       "       'Lindell, Mr. Edvard Bengtsson', 'Karaic, Mr. Milan',\n",
       "       'Daniel, Mr. Robert Williams',\n",
       "       'Laroche, Mrs. Joseph (Juliette Marie Louise Lafargue)',\n",
       "       'Shutes, Miss. Elizabeth W',\n",
       "       'Andersson, Mrs. Anders Johan (Alfrida Konstantia Brogren)',\n",
       "       'Jardin, Mr. Jose Neto', 'Murphy, Miss. Margaret Jane',\n",
       "       'Horgan, Mr. John', 'Brocklebank, Mr. William Alfred',\n",
       "       'Herman, Miss. Alice', 'Danbom, Mr. Ernst Gilbert',\n",
       "       'Lobb, Mrs. William Arthur (Cordelia K Stanlick)',\n",
       "       'Becker, Miss. Marion Louise', 'Gavey, Mr. Lawrence',\n",
       "       'Yasbeck, Mr. Antoni', 'Kimball, Mr. Edwin Nelson Jr',\n",
       "       'Nakid, Mr. Sahid', 'Hansen, Mr. Henry Damsgaard',\n",
       "       'Bowen, Mr. David John \"Dai\"', 'Sutton, Mr. Frederick',\n",
       "       'Kirkland, Rev. Charles Leonard', 'Longley, Miss. Gretchen Fiske',\n",
       "       'Bostandyeff, Mr. Guentcho', \"O'Connell, Mr. Patrick D\",\n",
       "       'Barkworth, Mr. Algernon Henry Wilson',\n",
       "       'Lundahl, Mr. Johan Svensson', 'Stahelin-Maeglin, Dr. Max',\n",
       "       'Parr, Mr. William Henry Marsh', 'Skoog, Miss. Mabel',\n",
       "       'Davis, Miss. Mary', 'Leinonen, Mr. Antti Gustaf',\n",
       "       'Collyer, Mr. Harvey', 'Panula, Mrs. Juha (Maria Emilia Ojala)',\n",
       "       'Thorneycroft, Mr. Percival', 'Jensen, Mr. Hans Peder',\n",
       "       'Sagesser, Mlle. Emma', 'Skoog, Miss. Margit Elizabeth',\n",
       "       'Foo, Mr. Choong', 'Baclini, Miss. Eugenie',\n",
       "       'Harper, Mr. Henry Sleeper', 'Cor, Mr. Liudevit',\n",
       "       'Simonius-Blumer, Col. Oberst Alfons', 'Willey, Mr. Edward',\n",
       "       'Stanley, Miss. Amy Zillah Elsie', 'Mitkoff, Mr. Mito',\n",
       "       'Doling, Miss. Elsie', 'Kalvik, Mr. Johannes Halvorsen',\n",
       "       'O\\'Leary, Miss. Hanora \"Norah\"', 'Hegarty, Miss. Hanora \"Nora\"',\n",
       "       'Hickman, Mr. Leonard Mark', 'Radeff, Mr. Alexander',\n",
       "       'Bourke, Mrs. John (Catherine)', 'Eitemiller, Mr. George Floyd',\n",
       "       'Newell, Mr. Arthur Webster', 'Frauenthal, Dr. Henry William',\n",
       "       'Badt, Mr. Mohamed', 'Colley, Mr. Edward Pomeroy',\n",
       "       'Coleff, Mr. Peju', 'Lindqvist, Mr. Eino William',\n",
       "       'Hickman, Mr. Lewis', 'Butler, Mr. Reginald Fenton',\n",
       "       'Rommetvedt, Mr. Knud Paust', 'Cook, Mr. Jacob',\n",
       "       'Taylor, Mrs. Elmer Zebley (Juliet Cummins Wright)',\n",
       "       'Brown, Mrs. Thomas William Solomon (Elizabeth Catherine Ford)',\n",
       "       'Davidson, Mr. Thornton', 'Mitchell, Mr. Henry Michael',\n",
       "       'Wilhelms, Mr. Charles', 'Watson, Mr. Ennis Hastings',\n",
       "       'Edvardsson, Mr. Gustaf Hjalmar', 'Sawyer, Mr. Frederick Charles',\n",
       "       'Turja, Miss. Anna Sofia',\n",
       "       'Goodwin, Mrs. Frederick (Augusta Tyler)',\n",
       "       'Cardeza, Mr. Thomas Drake Martinez', 'Peters, Miss. Katie',\n",
       "       'Hassab, Mr. Hammad', 'Olsvigen, Mr. Thor Anderson',\n",
       "       'Goodwin, Mr. Charles Edward', 'Brown, Mr. Thomas William Solomon',\n",
       "       'Laroche, Mr. Joseph Philippe Lemercier',\n",
       "       'Panula, Mr. Jaako Arnold', 'Dakic, Mr. Branko',\n",
       "       'Fischer, Mr. Eberhard Thelander',\n",
       "       'Madill, Miss. Georgette Alexandra', 'Dick, Mr. Albert Adrian',\n",
       "       'Karun, Miss. Manca', 'Lam, Mr. Ali', 'Saad, Mr. Khalil',\n",
       "       'Weir, Col. John', 'Chapman, Mr. Charles Henry', 'Kelly, Mr. James',\n",
       "       'Mullens, Miss. Katherine \"Katie\"', 'Thayer, Mr. John Borland',\n",
       "       'Humblen, Mr. Adolf Mathias Nicolai Olsen',\n",
       "       'Astor, Mrs. John Jacob (Madeleine Talmadge Force)',\n",
       "       'Silverthorne, Mr. Spencer Victor', 'Barbara, Miss. Saiide',\n",
       "       'Gallagher, Mr. Martin', 'Hansen, Mr. Henrik Juul',\n",
       "       'Morley, Mr. Henry Samuel (\"Mr Henry Marshall\")',\n",
       "       'Kelly, Mrs. Florence \"Fannie\"',\n",
       "       'Calderhead, Mr. Edward Pennington', 'Cleaver, Miss. Alice',\n",
       "       'Moubarek, Master. Halim Gonios (\"William George\")',\n",
       "       'Mayne, Mlle. Berthe Antonine (\"Mrs de Villiers\")',\n",
       "       'Klaber, Mr. Herman', 'Taylor, Mr. Elmer Zebley',\n",
       "       'Larsson, Mr. August Viktor', 'Greenberg, Mr. Samuel',\n",
       "       'Soholt, Mr. Peter Andreas Lauritz Andersen',\n",
       "       'Endres, Miss. Caroline Louise',\n",
       "       'Troutt, Miss. Edwina Celia \"Winnie\"', 'McEvoy, Mr. Michael',\n",
       "       'Johnson, Mr. Malkolm Joackim', 'Harper, Miss. Annie Jessie \"Nina\"',\n",
       "       'Jensen, Mr. Svend Lauritz', 'Gillespie, Mr. William Henry',\n",
       "       'Hodges, Mr. Henry Price', 'Chambers, Mr. Norman Campbell',\n",
       "       'Oreskovic, Mr. Luka',\n",
       "       'Renouf, Mrs. Peter Henry (Lillian Jefferys)',\n",
       "       'Mannion, Miss. Margareth', 'Bryhl, Mr. Kurt Arnold Gottfrid',\n",
       "       'Ilmakangas, Miss. Pieta Sofia', 'Allen, Miss. Elisabeth Walton',\n",
       "       'Hassan, Mr. Houssein G N', 'Knight, Mr. Robert J',\n",
       "       'Berriman, Mr. William John', 'Troupiansky, Mr. Moses Aaron',\n",
       "       'Williams, Mr. Leslie', 'Ford, Mrs. Edward (Margaret Ann Watson)',\n",
       "       'Lesurer, Mr. Gustave J', 'Ivanoff, Mr. Kanio',\n",
       "       'Nankoff, Mr. Minko', 'Hawksford, Mr. Walter James',\n",
       "       'Cavendish, Mr. Tyrell William',\n",
       "       'Ryerson, Miss. Susan Parker \"Suzette\"', 'McNamee, Mr. Neal',\n",
       "       'Stranden, Mr. Juho', 'Crosby, Capt. Edward Gifford',\n",
       "       'Abbott, Mr. Rossmore Edward', 'Sinkkonen, Miss. Anna',\n",
       "       'Marvin, Mr. Daniel Warner', 'Connaghton, Mr. Michael',\n",
       "       'Wells, Miss. Joan', 'Moor, Master. Meier',\n",
       "       'Vande Velde, Mr. Johannes Joseph', 'Jonkoff, Mr. Lalio',\n",
       "       'Herman, Mrs. Samuel (Jane Laver)', 'Hamalainen, Master. Viljo',\n",
       "       'Carlsson, Mr. August Sigfrid', 'Bailey, Mr. Percy Andrew',\n",
       "       'Theobald, Mr. Thomas Leonard',\n",
       "       'Rothes, the Countess. of (Lucy Noel Martha Dyer-Edwards)',\n",
       "       'Garfirth, Mr. John', 'Nirva, Mr. Iisakki Antino Aijo',\n",
       "       'Barah, Mr. Hanna Assi',\n",
       "       'Carter, Mrs. William Ernest (Lucile Polk)',\n",
       "       'Eklund, Mr. Hans Linus', 'Hogeboom, Mrs. John C (Anna Andrews)',\n",
       "       'Brewe, Dr. Arthur Jackson', 'Mangan, Miss. Mary',\n",
       "       'Moran, Mr. Daniel J', 'Gronnestad, Mr. Daniel Danielsen',\n",
       "       'Lievens, Mr. Rene Aime', 'Jensen, Mr. Niels Peder',\n",
       "       'Mack, Mrs. (Mary)', 'Elias, Mr. Dibo',\n",
       "       'Hocking, Mrs. Elizabeth (Eliza Needs)',\n",
       "       'Myhrman, Mr. Pehr Fabian Oliver Malkolm', 'Tobin, Mr. Roger',\n",
       "       'Emanuel, Miss. Virginia Ethel', 'Kilgannon, Mr. Thomas J',\n",
       "       'Robert, Mrs. Edward Scott (Elisabeth Walton McMillan)',\n",
       "       'Ayoub, Miss. Banoura', 'Dick, Mrs. Albert Adrian (Vera Gillespie)',\n",
       "       'Long, Mr. Milton Clyde', 'Johnston, Mr. Andrew G',\n",
       "       'Ali, Mr. William', 'Harmer, Mr. Abraham (David Lishin)',\n",
       "       'Sjoblom, Miss. Anna Sofia', 'Rice, Master. George Hugh',\n",
       "       'Dean, Master. Bertram Vere', 'Guggenheim, Mr. Benjamin',\n",
       "       'Keane, Mr. Andrew \"Andy\"', 'Gaskell, Mr. Alfred',\n",
       "       'Sage, Miss. Stella Anna', 'Hoyt, Mr. William Fisher',\n",
       "       'Dantcheff, Mr. Ristiu', 'Otter, Mr. Richard',\n",
       "       'Leader, Dr. Alice (Farnham)', 'Osman, Mrs. Mara',\n",
       "       'Ibrahim Shawah, Mr. Yousseff',\n",
       "       'Van Impe, Mrs. Jean Baptiste (Rosalie Paula Govaert)',\n",
       "       'Ponesell, Mr. Martin',\n",
       "       'Collyer, Mrs. Harvey (Charlotte Annie Tate)',\n",
       "       'Carter, Master. William Thornton II',\n",
       "       'Thomas, Master. Assad Alexander', 'Hedman, Mr. Oskar Arvid',\n",
       "       'Johansson, Mr. Karl Johan', 'Andrews, Mr. Thomas Jr',\n",
       "       'Pettersson, Miss. Ellen Natalia', 'Meyer, Mr. August',\n",
       "       'Chambers, Mrs. Norman Campbell (Bertha Griggs)',\n",
       "       'Alexander, Mr. William', 'Lester, Mr. James',\n",
       "       'Slemen, Mr. Richard James', 'Andersson, Miss. Ebba Iris Alfrida',\n",
       "       'Tomlin, Mr. Ernest Portage', 'Fry, Mr. Richard',\n",
       "       'Heininen, Miss. Wendla Maria', 'Mallet, Mr. Albert',\n",
       "       'Holm, Mr. John Fredrik Alexander', 'Skoog, Master. Karl Thorsten',\n",
       "       'Hays, Mrs. Charles Melville (Clara Jennings Gregg)',\n",
       "       'Lulic, Mr. Nikola', 'Reuchlin, Jonkheer. John George',\n",
       "       'Moor, Mrs. (Beila)', 'Panula, Master. Urho Abraham',\n",
       "       'Flynn, Mr. John', 'Lam, Mr. Len', 'Mallet, Master. Andre',\n",
       "       'McCormack, Mr. Thomas Joseph',\n",
       "       'Stone, Mrs. George Nelson (Martha Evelyn)',\n",
       "       'Yasbeck, Mrs. Antoni (Selini Alexander)',\n",
       "       'Richards, Master. George Sibley', 'Saad, Mr. Amin',\n",
       "       'Augustsson, Mr. Albert', 'Allum, Mr. Owen George',\n",
       "       'Compton, Miss. Sara Rebecca', 'Pasic, Mr. Jakob',\n",
       "       'Sirota, Mr. Maurice', 'Chip, Mr. Chang', 'Marechal, Mr. Pierre',\n",
       "       'Alhomaki, Mr. Ilmari Rudolf', 'Mudd, Mr. Thomas Charles',\n",
       "       'Serepeca, Miss. Augusta', 'Lemberopolous, Mr. Peter L',\n",
       "       'Culumovic, Mr. Jeso', 'Abbing, Mr. Anthony',\n",
       "       'Sage, Mr. Douglas Bullen', 'Markoff, Mr. Marin',\n",
       "       'Harper, Rev. John', 'Goldenberg, Mrs. Samuel L (Edwiga Grabowska)',\n",
       "       'Andersson, Master. Sigvard Harald Elias', 'Svensson, Mr. Johan',\n",
       "       'Boulos, Miss. Nourelain', 'Lines, Miss. Mary Conover',\n",
       "       'Carter, Mrs. Ernest Courtenay (Lilian Hughes)',\n",
       "       'Aks, Mrs. Sam (Leah Rosen)',\n",
       "       'Wick, Mrs. George Dennick (Mary Hitchcock)',\n",
       "       'Daly, Mr. Peter Denis ', 'Baclini, Mrs. Solomon (Latifa Qurban)',\n",
       "       'Razi, Mr. Raihed', 'Hansen, Mr. Claus Peter',\n",
       "       'Giles, Mr. Frederick Edward',\n",
       "       'Swift, Mrs. Frederick Joel (Margaret Welles Barron)',\n",
       "       'Sage, Miss. Dorothy Edith \"Dolly\"', 'Gill, Mr. John William',\n",
       "       'Bystrom, Mrs. (Karolina)', 'Duran y More, Miss. Asuncion',\n",
       "       'Roebling, Mr. Washington Augustus II',\n",
       "       'van Melkebeke, Mr. Philemon', 'Johnson, Master. Harold Theodor',\n",
       "       'Balkic, Mr. Cerin',\n",
       "       'Beckwith, Mrs. Richard Leonard (Sallie Monypeny)',\n",
       "       'Carlsson, Mr. Frans Olof', 'Vander Cruyssen, Mr. Victor',\n",
       "       'Abelson, Mrs. Samuel (Hannah Wizosky)',\n",
       "       'Najib, Miss. Adele Kiamie \"Jane\"', 'Gustafsson, Mr. Alfred Ossian',\n",
       "       'Petroff, Mr. Nedelio', 'Laleff, Mr. Kristo',\n",
       "       'Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)',\n",
       "       'Shelley, Mrs. William (Imanita Parrish Hall)',\n",
       "       'Markun, Mr. Johann', 'Dahlberg, Miss. Gerda Ulrika',\n",
       "       'Banfield, Mr. Frederick James', 'Sutehall, Mr. Henry Jr',\n",
       "       'Rice, Mrs. William (Margaret Norton)', 'Montvila, Rev. Juozas',\n",
       "       'Graham, Miss. Margaret Edith',\n",
       "       'Johnston, Miss. Catherine Helen \"Carrie\"', 'Behr, Mr. Karl Howell',\n",
       "       'Dooley, Mr. Patrick'], dtype=object)"
      ]
     },
     "execution_count": 126,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.Name.values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "名字中都含有Mrs, Miss, Mr这些标识性别的关键词，其实也就是直接给出了性别，所以Name属性的价值可以认为归到了Sex上"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Age"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6wAAAEWCAYAAABi9Rp+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8VdW9///XJwMhCAlTQCBAkHlGiQhFW1FR6qXSWhUH\nqqW2tpeWcqvXsaiVwu921NqfWLVanFtp1V5s64TWW6WgzBBAZMYASkhCmBIyfb5/7B1IwklyCAkJ\n4f18PM7jnLP22mt/zjlhcz5nrb2WuTsiIiIiIiIijU1MQwcgIiIiIiIiEokSVhEREREREWmUlLCK\niIiIiIhIo6SEVURERERERBolJawiIiIiIiLSKClhFRERERERkUZJCaucFsysm5kdMLPYemjbzaxX\nXbcrIiIiInK6U8IqdcrMhpvZ0jA5/MTMLmvomADcfbu7t3T3koaORUREREREohPX0AFIk/MI8DqQ\nDqQBLU7GQc0szt2LT8axRETqis5dIiIi1VMP62nAzO4ys01mtt/M1prZ18ptizWzX5vZHjPbYmY/\nCIe4xoXbk83sKTPbZWY7zGxmDcNqi4BtHtji7mtqiK29mf3NzPaaWY6ZvW9mMeG2CkNtzexpM5sZ\nPr7QzDLN7E4z+wyYY2brzGx8ufpxZpZlZueYWVrZ6zKziWa2pFIcPzKzeeHjBDP7lZltN7PPzewx\nM0ssV/f28P3YaWbfiuIjEJFG7mSdJ83sJ2b2FzN73sz2Ad80sxFmtjA8D+4ys0fMrFm5fdzMvmdm\nG8I6s83M6jo2ERGRxkgJ6+lhE3ABkAw8ADxvZp3Cbd8BvgwMA84Bvlpp36eBYqAXcDZwKfDtao61\nGPiFmZ0TZWy3AZlACtARuAfwKPc9E2gLdAduAf4IXFdu+2XAHndfVmm/14C+Zta7XNn1wIvh458B\nfQjek15AF+A+ADMbB/w3MBboDVwSZawi0ridzPPkBOAvQGvgBaAE+BHQHhgFXAxMqbTPeOBcYAhw\nDcH5rT5iExERaVSUsJ4G3P3P7r7T3Uvd/SVgAzAi3HwN8LC7Z7p7LkGyBoCZdQQuB/7L3Q+6+27g\nIeDaSMcxs2uBMQTJ32tlSauZXWJmS6sIrwjoBHR39yJ3f9/do01YS4H73f2wu+cTJJxXmFnZMOTr\nCZLYyu/HIeB/CZPbMHHtB8wLey1uAX7k7jnuvh/4/8q95muAOe6e4e4HgZ9EGauINGIn6zwZWuju\nfw2Ple/uS919kbsXu/tW4HHgS5X2+Zm773X37cA/CRLU+ohNRESkUdE1rKcBM7sRuJXgmlKAlgS/\n5AN0Bj4tV7384+5APLArHH0GwY8c5euUNw34pbu/bmbfBV43sy8Do4F3q9jnlwRJ31vhMZ5w959V\nUbeyLHcvKHvi7hvNbB3wFTN7DbiCoEchkheBXwMzCBLbv7r7ITPrQHDd7dJyr9mAsiF0nYHyyfe2\nKGMVkUbsJJ4nK++PmfUBHiS49r8Fwf/NlX/k+6zc40NhfPURm4iISKOihLWJM7PuwO8JhpgtdPcS\nM1tBkIQB7AJSy+3StdzjT4HDQPsoJwWJI/hyhLv/zcxuBd4CDgJfjLRD2IN5G3CbmQ0C3jWzxe7+\nDsGXsvKTNp1JMHz4yO4RmiwbFhwDrHX3jVXE+jaQYmbDwvo/Csv3APnAQHffEWG/XVR8j7pV0b6I\nnCJO8nkSjj13/Q5YDlzn7vvN7L+Aq6Jsq65jExERaVQ0JLjpO4Pgy1EWgJlNBgaV2z4XmGZmXcys\nNXBn2QZ330WQcP7azJLMLMbMeppZ5aFqZf4M3GdmQ8OJkz4hSDoTq6iPmY03s17hUNw8gmu5SsPN\nK4Drw0lFxnHsELlI/kRwjdZ/cvSa1GO4e1EY7y8JroN9OywvJfji+lDY20r43pRdLzaXYJKUAeHQ\n4/ujiElEGreTeZ6MpBWwDzhgZv0Izl/Rqu/YREREGpQS1ibO3dcSDH1dCHwODAYWlKvye4IvNKsI\nfuH/B8EEHWXrld4INAPWArkEE4V0IrJfAX8AXgX2A08Q9J4+A/zdzJIj7NMbmA8cCGN81N3/GW6b\nBnwF2AvcAPw1ite7K2znC8BLNVR/kWDSpD9X6n24E9gILApn8ZwP9A3bfx34DcEQ541UPdRZRE4R\nJ/k8Gcl/E1yasD88Vk3nrvLqOzYREZEGZdHPbyOng/Ca08fcvXtDxyIi0hg15vNkY45NRESkNtTD\nepozs0Qzu9yC9Um7EAxxfbWh4xIRaSwa83myMccmIiJSF9TDepoLr8P8P4JlXfKBvwPT3H1fgwYm\nItJINObzZGOOTUREpC4oYRUREREREZFGSUOCRUREREREpFFqVOuwtm/f3tPS0ho6DBFpRJYuXbrH\n3VMaOo66pHOdiFSmc52InA5qc65rVAlrWloaS5YsaegwRKQRMbNtDXDMWGAJsMPdx5tZD4I1ftsB\nS4FvuHuhmSUAzwLDgWxgortvral9netEpLKGONfVN53rRKSy2pzrNCRYRORY04B15Z7/HHjI3XsR\nrGV5c1h+M5Ablj8U1hMRERGROqKEVUSkHDNLBf4DeDJ8bsBFwF/CKs8AXw0fTwifE26/OKwvIiIi\nInVACauISEW/Ae4ASsPn7YC97l4cPs8EuoSPuwCfAoTb88L6xzCzW8xsiZktycrKqq/YRURERJqU\nRnUNq4hIQzKz8cBud19qZhfWZdvu/gTwBEB6errWExMREalHRUVFZGZmUlBQ0NChnJaaN29Oamoq\n8fHxJ9yWElYRkaNGA1eY2eVAcyAJeBhobWZxYS9qKrAjrL8D6ApkmlkckEww+ZKIiIg0oMzMTFq1\nakVaWhq6Wufkcneys7PJzMykR48eJ9yehgSLiITc/W53T3X3NOBa4F13vwH4J3BVWO0m4H/Dx/PC\n54Tb33V39Z6KiIg0sIKCAtq1a6dktQGYGe3atauz3m0lrCIiNbsTuNXMNhJco/pUWP4U0C4svxW4\nq4HiExERkUqUrDacunzvNSRYRCQCd38PeC98vBkYEaFOAXD1SQ1MRETkBOw+tJvXt7zO0JShDOsw\nrKHDEalRvSWsZvYHoGwCk0F12fb0v67m+UXb66StGIOEuBgKikpJjI8hv7gUdzCgbFxfrBnXndeV\nmV8dzF+X7+CXb65n5958WreIxx3y8otoHh/D4eJSSjUYsFplv7Wc6NtkQLO44D2PpGOrZnz447EV\nPq8TPW58DBSXQnysUVjix5SX/xso/zdzw+8XsmBTzpH6o3u25YXvjGL6X1fzxw8/pcS9Qv3y5VX9\nHZ6Kyn8WnVsncvtlffnq2V1q3lFERETqxIHCA9z4+o3sOLADw3h4zMOM6TamocMSqVZ99rA+DTwC\nPFuXjdZlsgpQ6pBfFCQ9h4qOJj/lE5sSd55ftJ0tWQdYtj2P/KISAHIPFR2pk18UOXGSiuoqn3eo\nMlkF+Hx/IUPuf4OiUo58Xieq7CMun6yWLy//N1D2N/P2ms/4fH9hhfoLNuVw3qy3K5SX1f9wczYb\ndh88Uh7p7xA45ZLWvy7fwd2vrD7yWezYm8/dr6wGUNIqDeNFDROr4Hr92ipyOvhDxh/YdXAXsy+e\nzSPLH2HGohmM6DSCM+LPaOjQTnvvvfcev/rVr/jb3/5WJ+098sgj/OY3v2HTpk1kZWXRvn37Omm3\nIdTbNazu/i8gp8aKx+mPH35a101GbcGmnDpLfqT+7Ttc0uCfV+Vktaby8slqVRry30Bt/fLN9cd8\nFvlFJfzyzfUNFJGIiMjppaikiJc3vMyXUr/EF1O/yD3n3cOe/D38deNfGzo0qQejR49m/vz5dO/e\nvaFDOWENfg2rmd0C3ALQrVu3GuuXaAJOOc2div8GyoZkR1suIiIidWvx54vJKcjha72+BsCwDsMY\nmjKUF9a9wHX9riPGmu5crA+8toa1O/fVaZsDOidx/1cGVltn69atjBs3juHDh7Ns2TIGDhzIs88+\ny5o1a5g2bRoHDx4kISGBd955p8J+H330EdOmTaOgoIDExETmzJlD3759WbNmDZMnT6awsJDS0lJe\nfvllOnfuzDXXXENmZiYlJSXce++9TJw4kbPPPjvq11LV8Q4dOsQ3v/lNMjIy6Nu3Lzt37mT27Nmk\np6fz1ltvcf/993P48GF69uzJnDlzaNmyZa3ey5o0+F+muz/h7ununp6SklJj/VjN9iWnuVPx30Dn\n1onHVS4iIiJ1a8GOBTSLacbIziOPlE3sO5FP93/Kit0rGjCypm39+vVMmTKFdevWkZSUxCOPPMLE\niRN5+OGHWblyJfPnzycxseL3oX79+vH++++zfPlyZsyYwT333APAY489xrRp01ixYgVLliwhNTWV\nN954g86dO7Ny5UoyMjIYN27cccdY1fEeffRR2rRpw9q1a/npT3/K0qVLAdizZw8zZ85k/vz5LFu2\njPT0dB588METfKeq1uA9rMfruvO61uk1rMdjdM+2Fa5hlcYtKSG2Tq9hrY2OrZpFHP5bVXnvDmfU\nOCz4uvO61ll8J8vtl/WtcA0rQGJ8LLdf1rcBoxIRETl9LNy1kHM6nkNi3NHk6KJuF5EQm8AbW9/g\nnI7nNGB09aumntD61LVrV0aPHg3ApEmTmDVrFp06deLcc88FICkp6Zh98vLyuOmmm9iwYQNmRlFR\nMG/OqFGjmDVrFpmZmVx55ZX07t2bwYMHc9ttt3HnnXcyfvx4LrjgguOOsarjffDBB0ybNg2AQYMG\nMWTIEAAWLVrE2rVrj7yuwsJCRo0addzHjVaD97Aer5lfHcykkTUPHY5WjEFifAwGtIiPoazzqnwf\nVqwZk0Z244XvjOJ/rhxMl9aJGNCmRTytE+MxgjZiTr2Or5POqPjenkg7CXFV//l2bNWMVQ+Mq/B5\nnehx42PC2YljLWJ5+b+Bsr+ZD388ltE921aoP7pnWz788Vgmjex2pLe0rP7bt15YoTzS3+GpNuES\nBBMrlf8surRO5H+uHKwJl0RERE6CQ0WH2LR30zHL2JwRfwZfTP0ib297m1LXBKL1ofJ6pJES1Mru\nvfdexowZQ0ZGBq+99hoFBQUAXH/99cybN4/ExEQuv/xy3n33Xfr06cOyZcsYPHgw06dPZ8aMGccd\nY1XHq4q7M3bsWFasWMGKFStYu3YtTz31VLX7nIj6XNbmj8CFQHszywTud/c6eSUzvzq4wb60f/Xs\nLvqSfQppDJ/XC9+J/ItTVX/HDfn3XZ8aw2chInI6MLNxwMNALPCku/+s0vYEglUchgPZwER332pm\nI4AnyqoBP3H3V8N9tgL7gRKg2N3TT8ZrkbqxLmcdpV7KoHbHrjT5pdQv8fa2t1mfs57+7fo3QHRN\n2/bt21m4cCGjRo3ixRdfZOTIkTz++OMsXryYc889l/379x8zJDgvL48uXYLvTE8//fSR8s2bN3PW\nWWfxwx/+kO3bt7Nq1Sr69etH27ZtmTRpEq1bt+bJJ5887hirOt7o0aOZO3cuY8aMYe3ataxeHazw\nMHLkSL7//e+zceNGevXqxcGDB9mxYwd9+vQ57mNHoz5nCb7O3Tu5e7y7p9ZVsioiIiIikZlZLDAb\n+DIwALjOzAZUqnYzkOvuvYCHgJ+H5RlAursPA8YBj5tZ+c6NMe4+TMnqqSdjTwYAA9sfOzT2C52/\nAMCCnQtOakyni759+zJ79mz69+9Pbm4uU6dO5aWXXmLq1KkMHTqUsWPHHtOjeccdd3D33Xdz9tln\nU1xcfKR87ty5DBo0iGHDhpGRkcGNN97I6tWrGTFiBMOGDeOBBx5g+vTpAPz2t78lNTWVzMxMhgwZ\nwre//e0qY6zqeFOmTCErK4sBAwYwffp0Bg4cSHJyMikpKTz99NNcd911DBkyhFGjRvHxxx/X8Tt3\nlHkjmnE0PT3dlyxZ0tBhiEgjYmZLm9qXI53rGgGtw1qR1mFtcHV1rjOzUQQ9o5eFz+8GcPf/KVfn\nzbDOwjAh/QxI8XJfCs2sB7AI6OLuxWEPa7q774k2Fp3rGo87/nUHy3cv5+2r3o64/erXrqZlfEvm\njJtzkiOrP+vWraN//4btMd66dSvjx48nIyOjQeOorZKSEoqKimjevDmbNm3ikksuYf369TRr1iyq\n/SN9BrU5151yky6JiIiISJW6AOUX7M4EzquqTpiM5gHtgD1mdh7wB6A78A13L+tuceAtM3PgcXd/\nAjllbNy7kT5tqh6uObrzaJ5Z8wwHCg/Qsln9LE0ip55Dhw4xZswYioqKcHceffTRqJPVuqSEVURE\nREQAcPcPgYFm1h94xsxed/cC4Hx332FmHYC3zexjd/9X5f3N7BbgFoBu3epukkypvZLSErblbWN0\n59FV1hndZTRPZTzF4s8WM6bbmJMYXdOWlpbWqHpX58yZw8MPP1yhbPTo0cyePTti/VatWtEYRkko\nYRURERFpOnYA5dc/Sw3LItXJDIcEJxNMvnSEu68zswPAIGCJu+8Iy3eb2avACOCYhDXseX0CgiHB\ndfKK5ITsPLCTwtJCzko+q8o6g9sPJj4mnmW7lylhbcImT57M5MmTGzqM43bKLWsjIiIiIlVaDPQ2\nsx5m1gy4FphXqc484Kbw8VXAu+7u4T5xAGbWHegHbDWzM8ysVVh+BnApwQRNcgrYnLcZgB7JPaqs\n0zyuOYPaD2LZ58tOVlgiUVPCKiIiItJEhNec/gB4E1gHzHX3NWY2w8yuCKs9BbQzs43ArcBdYfn5\nwEozWwG8CkwJJ1nqCHxgZiuBj4C/u/sbJ+9VyYnYkrcFqD5hBRjecThrs9dyqOjQyQhLJGoaEiwi\nIiLShLj7P4B/VCq7r9zjAuDqCPs9BzwXoXwzMLTuI5WTYeu+rbRt3pbkhORq653T4Rye9CdZtWcV\nIzuNPEnRidRMPawiIiIiIk1U5oFMUlum1lhvWIdhGKZhwdLoKGEVESnHzJqb2UdmttLM1pjZA2H5\n02a2xcxWhLdhYbmZ2W/NbKOZrTKzcxr2FYiIiBy188BOurTsUmO9Vs1a0a9tP5Z+vvQkRCWVvffe\ne4wfP77O2rvhhhvo27cvgwYN4lvf+hZFRUV11vbJpoRVRKSiw8BF7j4UGAaMM7OysVG3u/uw8LYi\nLPsy0Du83QL87qRHLCIiEkFJaQm7Du6ic8vOUdUfmjKUjD0ZlJSW1HNkUt9uuOEGPv74Y1avXk1+\nfj5PPvlkQ4dUa7qGVUSkHHd34ED4ND68Vbc0wwTg2XC/RWbW2sw6ufuueg5VRESkWln5WRSXFked\nsA5OGcyf1v+JLXlb6NWmVz1HdxK9fhd8trpu2zxzMHz5Z9VW2bp1K+PGjWP48OEsW7aMgQMH8uyz\nz7JmzRqmTZvGwYMHSUhI4J133qmw30cffcS0adMoKCggMTGROXPm0LdvX9asWcPkyZMpLCyktLSU\nl19+mc6dO3PNNdeQmZlJSUkJ9957LxMnTuTyyy8/0t6IESPIzMysMs6qjnfo0CG++c1vkpGRQd++\nfdm5cyezZ88mPT2dt956i/vvv5/Dhw/Ts2dP5syZQ8uWLU/sPa2CelhFRCoxs9hwlszdwNvu/mG4\naVY47PchM0sIy7oAn5bbPTMsExERaVA7DgRL8EYzJBhgUPtBAKze8W/4v1/AB7+Bgn31Ft/pYP36\n9UyZMoV169aRlJTEI488wsSJE3n44YdZuXIl8+fPJzExscI+/fr14/3332f58uXMmDGDe+65B4DH\nHnuMadOmsWLFCpYsWUJqaipvvPEGnTt3ZuXKlWRkZDBu3LgKbRUVFfHcc88dUx7N8R599FHatGnD\n2rVr+elPf8rSpcFw8T179jBz5kzmz5/PsmXLSE9P58EHH6zLt60C9bCKiFTi7iXAMDNrDbxqZoOA\nu4HPgGbAE8CdwIxo2zSzWwiGDNOtW7c6j1lERKSynQd2AtEnrGlJabSMa0HGgl/wtV3hb7Er/wTf\negMSW9dXmPWvhp7Q+tS1a1dGjx4NwKRJk5g1axadOnXi3HPPBSApKemYffLy8rjpppvYsGEDZnbk\n+tNRo0Yxa9YsMjMzufLKK+nduzeDBw/mtttu484772T8+PFccMEFFdqaMmUKX/ziF48pj+Z4H3zw\nAdOmTQNg0KBBDBkyBIBFixaxdu3aI6+rsLCQUaNGncjbVC31sIqIVMHd9wL/BMa5+y4PHAbmACPC\najuAruV2Sw3LKrf1hLunu3t6SkpKfYcuIiJC5oFgGGinlp2iqh9jMQwsMVbHlMB3/gmTXoE9n8Db\n99W8s0RkZhWeR0pQK7v33nsZM2YMGRkZvPbaaxQUFABw/fXXM2/ePBITE7n88st599136dOnD8uW\nLWPw4MFMnz6dGTOO/pb+wAMPkJWVVWPvZ1XHq4q7M3bsWFasWMGKFStYu3YtTz31VI2vq7aUsIqI\nlGNmKWHPKmaWCIwFPjazTmGZAV8FMsJd5gE3hrMFjwTydP2qiIg0BjsP7CQlMYWE2ISaKwNkLmFw\n7k42NIunoOMA6HUxnPc9WPYsZG+q32CbqO3bt7Nw4UIAXnzxRUaOHMmuXbtYvHgxAPv376e4uLjC\nPnl5eXTpEvSKP/3000fKN2/ezFlnncUPf/hDJkyYwKpVq9i5cyctWrRg0qRJ3H777SxbFixL9OST\nT/Lmm2/yxz/+kZiY6lO+qo43evRo5s6dC8DatWtZvTq4DnjkyJEsWLCAjRs3AnDw4EE++eST2rw9\nUVHCKiJSUSfgn2a2ClhMcA3r34AXzGw1sBpoD8wM6/8D2AxsBH4PTDn5IYuIiBxr14FdUfeuArDg\nYQaVxlOM83HOx0HZ6GkQGw+LNAl+bfTt25fZs2fTv39/cnNzmTp1Ki+99BJTp05l6NChjB079pge\nzTvuuIO7776bs88+u0IyO3fuXAYNGsSwYcPIyMjgxhtvZPXq1YwYMYJhw4bxwAMPMH36dAC+973v\n8fnnnzNq1CiGDRtWoee1sqqON2XKFLKyshgwYADTp09n4MCBJCcnk5KSwtNPP811113HkCFDGDVq\nFB9//HEdv3NHWTCxZeOQnp7uS5YsaegwRKQRMbOl7p7e0HHUJZ3rGoEXreY6p5PrG893gdOVznVS\nH6746xX0at2LBy+MYkKc/Fz4VR92nzOJi/fM585z72TSgEnBtle/B+teg9s3Qnxi9e00EuvWraN/\n//4NGsPWrVsZP348GRkZNVduhEpKSigqKqJ58+Zs2rSJSy65hPXr19OsWbOo9o/0GdTmXKceVhER\nERGRJmj3od10aNEhuspr50FJIR2GfYOUxBTWZK85um3IRCg8ABveqp9ApVE6dOgQ559/PkOHDuVr\nX/sajz76aNTJal3SLMEiIiIiIk3MwaKDHCw6SEpilBP9rXkF2vaEzmfTr20/1ueuP7ot7QI4IwUy\nXoEBE+on4CYoLS2tUfWuzpkzh4cffrhC2ejRo5k9e3bE+q1ataIxjJJQwioiIiIi0sTsPrQbILoe\n1sKDsO3fcN53wYx+bfuxcOdCDpccDiZsio2DPuPCXtji4LmcciZPnszkyZMbOozjpiHBIiIiIiJN\nTFnC2rFFx5orb/s3lBRCz4sA6Nu2L8VezKa95WYG7nUJHM6DHQ3f4yanFyWsIiIiIiJNzHH1sG56\nF+KaQ7dRAPRr2w+A9TnlhgWf9SWwGNj4Tp3HKlIdJawiIiIiIk3McSWsm/8vSFbDGYC7tupKYlzi\n0aVtABLbQJd02PzP+ghXpEpKWEVEREREmpjdh3bTMr4lLeJbVF+xIA92rz3SuwoQYzH0bdO3YsIK\n0P0LsHMFFOXXQ8QikSlhFRERERFpYqJe0iZzCeDQ9dwKxX3b9uWT3E9wL7dOc7eRUFoEO5fXbbDC\ne++9x/jx4+usvZtvvpmhQ4cyZMgQrrrqKg4cOFBnbZ9sSlhFREREmhAzG2dm681so5ndFWF7gpm9\nFG7/0MzSwvIRZrYivK00s69F26Y0Prvzo01YFwMWDPctp1/bfhwoOsCOAzuOFnY9L7jfvqjuApV6\n8dBDD7Fy5UpWrVpFt27deOSRRxo6pFrTnNQiIiIiTYSZxQKzgbFAJrDYzOa5+9py1W4Gct29l5ld\nC/wcmAhkAOnuXmxmnYCVZvYa4FG0KY3M7kO7GXHmiJorfvoRdOgPzZMqFJdNvPRxzsektkoNClu0\nhfZ94NMP6zrcevXzj35+7PDmE9SvbT/uHHFntXW2bt3KuHHjGD58OMuWLWPgwIE8++yzrFmzhmnT\npnHw4EESEhJ4552KE1l99NFHTJs2jYKCAhITE5kzZw59+/ZlzZo1TJ48mcLCQkpLS3n55Zfp3Lkz\n11xzDZmZmZSUlHDvvfcyceJEkpKCz9Pdyc/Px8yqjPO1115j5syZFBYW0q5dO1544QU6duxIVlYW\n119/PTt37mTUqFG8/fbbLF26lPbt2/P888/z29/+lsLCQs477zweffRRYmNjT/yNjUA9rCIiIiJN\nxwhgo7tvdvdC4E/AhEp1JgDPhI//AlxsZubuh9y9OCxvTpCoRtumNCKlXsqeQ3tq7mEtLQ2WqUk9\n95hNZyWfBcDGvRsrbuh6XpCwlh8qLFVav349U6ZMYd26dSQlJfHII48wceJEHn74YVauXMn8+fNJ\nTEyssE+/fv14//33Wb58OTNmzOCee+4B4LHHHmPatGmsWLGCJUuWkJqayhtvvEHnzp1ZuXIlGRkZ\njBs37kg7kydP5swzz+Tjjz9m6tSpVcZ4/vnns2jRIpYvX861117LL37xCwAeeOABLrroItasWcNV\nV13F9u3bAVi3bh0vvfQSCxYsYMWKFcTGxvLCCy/U9Vt3hHpYRURERJqOLsCn5Z5nAudVVSfsTc0D\n2gF7zOw84A9Ad+Ab4fZo2gTAzG4BbgHo1q3bib8aqZW9h/dS7MW0T2xffcXcLcGkS6npx2xqEd+C\nLi27VFyLFYK6y5+D3K3QtkfdBV2PauoJrU9du3Zl9OjRAEyaNIlZs2bRqVMnzj03+JGgrCe0vLy8\nPG666SY2bNiAmVFUVATAqFGjmDVrFpmZmVx55ZX07t2bwYMHc9ttt3HnnXcyfvx4LrjggiPtzJkz\nh5KSEqYz70g4AAAgAElEQVROncpLL73E5MmTI8aYmZnJxIkT2bVrF4WFhfToEXyuH3zwAa+++ioA\n48aNo02bNgC88847LF269MhryM/Pp0OHKIaf15J6WEVEREQEAHf/0N0HAucCd5tZ8+Pc/wl3T3f3\n9JSUlPoJUmqUk58DQLvEdtVX/Gx1cH/m4Iibe7Xuxaa8Sglrp6HB/a6VJxLiaaPyUNxICWpl9957\nL2PGjCEjI4PXXnuNgoICAK6//nrmzZtHYmIil19+Oe+++y59+vRh2bJlDB48mOnTpzNjxowKbcXG\nxnLttdfy8ssvV3m8qVOn8oMf/IDVq1fz+OOPHzleVdydm266iRUrVrBixQrWr1/PT37ykxpfV20p\nYRURERFpOnYAXcs9Tw3LItYxszggGcguX8Hd1wEHgEFRtimNSHZB8HG2ax5FwmqxkNI/4uazWp/F\n1rytFJcWHy3sMABi4pSwRmn79u0sXLgQgBdffJGRI0eya9cuFi9eDMD+/fspLi6usE9eXh5dunQB\n4Omnnz5SvnnzZs466yx++MMfMmHCBFatWsXOnTtp0aIFkyZN4vbbb2fZsmW4Oxs3BkO53Z158+bR\nr1+/KmMsf7xnnnnmSPno0aOZO3cuAG+99Ra5ubkAXHzxxfzlL39h9+5grd+cnBy2bdtW6/eoJkpY\nRURERJqOxUBvM+thZs2Aa4F5lerMA24KH18FvOvuHu4TB2Bm3YF+wNYo25RGJKcg6GFt27xt9RU/\nWw0pfSE+ckd6r9a9KCot4tP95UaExyUEkzQpYY1K3759mT17Nv379yc3N/fI8NypU6cydOhQxo4d\ne0yP5h133MHdd9/N2WefXSGZnTt3LoMGDWLYsGFkZGRw4403snr1akaMGMGwYcN44IEHmD59+pEe\n0MGDBzN48GB27drFfffdV2WMP/nJT7j66qsZPnw47dsfHUZ+//3389ZbbzFo0CD+/Oc/c+aZZ9Kq\nVSsGDBjAzJkzufTSSxkyZAhjx45l165ddf/mhXQNq4iIiEgTEV5z+gPgTSAW+IO7rzGzGcASd58H\nPAU8Z2YbgRyCBBTgfOAuMysCSoEp7r4HIFKbJ/WFyXHJzo+yh/XzDOg+usrNPZN7ArBp7yZ6JJe7\nXrXTUFj/RjDxUjWzzwrExcXx/PPPVyg799xzWbSo4tJAF154IRdeeCEQXKv6ySefHNk2c+ZMAO66\n6y7uuqviqlKXXXYZl1122THHXbBgQdQxTpgwgQkTjp1HLTk5mTfffJO4uDgWLlzI4sWLSUhIAGDi\nxIlMnDgx6mOcCCWsIiIiIk2Iu/8D+EelsvvKPS4Aro6w33PAc9G2KY1XTkEOsRZLUkI110sezIZ9\nO6q8fhU4kqRu2ruJS7pfcnRDp2Gw/Plg/+TUugpbGpnt27dzzTXXUFpaSrNmzfj973/fIHEoYRUR\nERERaUJyCnJo27wtMVbN1X+fl024NKjKKlXOFFx+4iUlrFVKS0sjIyOjocM4YtasWfz5z3+uUHb1\n1Vfz4x//OGL93r17s3z58pMRWrWUsIqIlBPOiPkvIIHgHPkXd7/fzHoQrD3YDlhKsNxDoZklAM8C\nwwkmLZno7lsbJHgRERGCIcE1X78aJlIdq+5hBejZuuexMwV3HAgY7FoF/f6j9oHWM3c/Zpbe09mP\nf/zjKpPTuuZ1uE6vJl0SEanoMHCRuw8FhgHjzGwk8HPgIXfvBeQCN4f1bwZyw/KHwnoiIiINpqyH\ntVq718EZHaBl9csP9UzuyZa8LRVnCm52RrAGa9a6Ooi2fjRv3pzs7Ow6TZwkOu5OdnY2zZsf16pY\nVVIPq4hIOR78z3YgfBof3hy4CLg+LH8G+AnwO2BC+BjgL8AjZmau/yFFRKSBZBdk0y2pW/WV9nwS\nzBBcg56te1JUWkTm/kzSktOObugwIEh6G6nU1FQyMzPJyspq6FBOS82bNyc1tW6GiythFRGpxMxi\nCYb99gJmA5uAve5e9vNyJtAlfNwF+BSOzM6ZRzBseE+lNm8BbgHo1q2GLxEiIiInoMYeVnfYsx4G\nfb3Gtnq2PjpTcMWEtT+sfx2KDwdL3TQy8fHx9OjRo+aK0uhpSLCISCXuXuLuw4BUYATBWoQn2uYT\n7p7u7ukpKdUPvxIREamtQ0WHyC/Op11iNUvaHNgNBXnQvuYe1rKZgrfs21JxQ0o/8BLYs+FEwhWp\nkRJWEZEquPte4J/AKKC1mZWNSkkFdoSPdwBdAcLtyQSTL4mIiJx02QXBf0HV9rDuCdf4bN+7xvbO\niD+DlMQUtu3bVnFDhwHBfSMeFixNgxJWEZFyzCzFzFqHjxOBscA6gsT1qrDaTcD/ho/nhc8Jt7+r\n61dFRKSh5BTkANCueTU9rHvWB/dRXMMK0D2p+7EJa7teEBMHu9fWJkyRqClhFRGpqBPwTzNbBSwG\n3nb3vwF3Area2UaCa1SfCus/BbQLy28F7mqAmEVERIBgSRuAtonV9bBugPgzIKlL1XXKSUtOY2ve\n1oqFcc2gXW/I+riWkYpER5MuiYiU4+6rgLMjlG8muJ61cnkBcPVJCE1ERKRGUfWwZq0PhgNHuUZp\nWlIauYdzyTucR3JC8tENHfrBzuUnEq5IjdTDKiIiIiLSRBzpYa32GtYNUQ8HhmBIMBD5OtbcrVB4\n8HjDFImaElYRERERkSYipyCHVvGtaBbbLHKFwwdgXya07xN1m2lJaUCkhLV/cK9hwVKPlLCKiIiI\niDQR2QXZ1S9pc2SG4OgT1i6tuhBrsWzJq7y0TZiw7lbCKvVHCauIiIiISBORU5BT83BgOK4hwfEx\n8aS2Sj22h7VNGsTEH02CReqBElYRERERkSYiJ7+GhDVnM2BBsnkcIi5tExsH7XpC9sbjjlMkWkpY\nRURERESaiBqHBOduheRUiEs4rnbTktLYtm8bpV5acUP73uphlXqlhFVEREREpAkoLi1m7+G91few\n5m497t5VCHpYC0oK2H1od8UN7XoHvbYlRcfdpkg0lLCKiIiIiDQBuQW5QA1rsOZuhTbdj7vtspmC\nt+7bWnFD+z5QWhy0K1IPlLCKiIiINCFmNs7M1pvZRjO7K8L2BDN7Kdz+oZmlheVjzWypma0O7y8q\nt897YZsrwluHk/eKJFo5BTkAtE2sooe18BAc+KxWPaxpycE+2/IqXcdaNtuwhgVLPVHCKiIiItJE\nmFksMBv4MjAAuM7MBlSqdjOQ6+69gIeAn4fle4CvuPtg4CbguUr73eDuw8JbpXGh0hhk52cDVD0k\neG+YbLbpcdxtpySmkBiXGKGHtVdwr4RV6okSVhEREZGmYwSw0d03u3sh8CdgQqU6E4Bnwsd/AS42\nM3P35e6+MyxfAySa2fHNzCMNKrsgSFirHBJcNmy3FgmrmR2ZeKmC5snQ8syjy+WI1DElrCIiIiJN\nRxfg03LPM8OyiHXcvRjIAypnOF8Hlrn74XJlc8LhwPeamUU6uJndYmZLzGxJVlbWibwOqYUahwQf\nSVjTatV+xKVtIJwpWAmr1A8lrCIiIiJyhJkNJBgm/N1yxTeEQ4UvCG/fiLSvuz/h7ununp6SklL/\nwUoF2QXZxMfE0yq+VeQKuVuhWStoUc0swtXoltSNHQd2UFR5RuD2fYIhwe61alekOkpYRURERJqO\nHUDXcs9Tw7KIdcwsDkgGssPnqcCrwI3uvqlsB3ffEd7vB14kGHosjUxOfg5tm7elig7wo0vaVLW9\nBmlJaZR4CZkHMituaN8HCvbCwT21alekOkpYRURERJqOxUBvM+thZs2Aa4F5lerMI5hUCeAq4F13\ndzNrDfwduMvdF5RVNrM4M2sfPo4HxgMZ9fw6pBayC7Jpl1jNkjY5W2q1pE2Z7knBvtv3ba+4oX3v\n4F4TL0k9UMIqIiIi0kSE16T+AHgTWAfMdfc1ZjbDzK4Iqz0FtDOzjcCtQNnSNz8AegH3VVq+JgF4\n08xWASsIemh/f/JelUQrpyCn6hmCS0uDWYJref0qHE1Yy2YKdnc++Xw/C/eFx1TCKvUgrqEDEBER\nEZG64+7/AP5Rqey+co8LgKsj7DcTmFlFs8PrMkapH9n52fRq3SvyxgOfQ3EBtD3+GYLLJCck0zqh\nNdv2bWPNzjzueWU1KzPzMEpZm9CMhQsWMKz/DbQ9o1mtjyFSmXpYRUREREROce5OTkFO1UOCT3CG\n4DLdk7qz8rONXPnov/lsXwE/nTCQl747mn1npBGbvYGrHvs3u/LyT+gYIuUpYRURCZlZVzP7p5mt\nNbM1ZjYtLP+Jme0oN0Tu8nL73G1mG81svZld1nDRi4jI6Wx/0X6KSovqZQ3W8lrGnMn67M306tCS\nv//wAr4xKo0RPdrS8azBnJeUze59h/n2M0s4VFh8QscRKaOEVUTkqGLgNncfAIwEvm9mA8JtD7n7\nsPD2D4Bw27XAQGAc8KiZxTZE4CIicnrLyQ/XYK3qGtbcrYBBctfI26OQfeAwH30Si8Xn8fiNg2nf\nMuHoxvZ9aH4gk9nXDGDtrn1Mf1XzckndUMIqIhJy913uvix8vJ9gwpIu1ewyAfiTux929y3ARrTU\ng4iINIDsgmyAanpYt0ByKsTV7vpSd+fWuSs5dChIiA+Wfl6xQvvegPOl9vuYelFvXlm+gzcydtXq\nWCLlKWEVEYnAzNKAs4EPw6IfmNkqM/uDmbUJy7oAn5bbLZMqElwzu8XMlpjZkqysrHqKWkRETlc5\nBUEPa7XXsJ7A9at/WZrJ/32Sxc3nnQvAtn3bKlZo3ye4z1rP1It6MbBzEj9+NYOcg4W1PqYIKGEV\nETmGmbUEXgb+y933Ab8DegLDgF3Ar4+3TXd/wt3T3T09JSWlTuMVERHJzg96WKsdElzLhDVr/2Fm\n/n0d6d3b8J9fOA+IkLC27QkY7NlAfGwMv75mKHn5Rfz0b2trdUyRMkpYRUTKMbN4gmT1BXd/BcDd\nP3f3EncvJVh7sGzY7w6g/MVAqWGZiIjISVXWw9qmeZtjNxYeCpa1qWXCOuNva8kvLOFnXx9My4Qz\n6NCiw5G1WI9o1gJad4U96wHod2YSUy7syavLd/De+t21Oq4IKGEVETnCzAx4Cljn7g+WK+9UrtrX\ngLKZJOYB15pZgpn1AHoDH52seEVERMpk52fTOqE1cTFxx27cG/aG1iJhXbBxD6+t3MmUMT3p1aEV\nAGlJaWzft/3Yyu37wp5Pjjz9/kW96NWhJT9+NYMDhzVrsNSOElYRkaNGA98ALqq0hM0vzGy1ma0C\nxgA/AnD3NcBcYC3wBvB9dy9poNhFROQ0llOQU+dL2hSXlPLAa2vo1rYF3/tSzyPl3ZK6HTskGILr\nWPdshNJSABLiYvn51wezMy+fX725/riOLVImwk8wIiKnJ3f/ALAIm/5RzT6zgFn1FpSIiEgUsguy\naZtYxfWrOVuC++PsYX1+0TY++fwAj39jOM3jj67alpaURu7hXPIO55GckHx0h5Q+UJwPeZ9Cm+4A\nDO/elhtHdueZhVv5ytDODO8eYciySDXUwyoiIiIicoqrsYe1WStoUUVCG6m9g4U8+PYnnN+rPZcO\n6FhhW/ekIBmtcqbgPRsqFN8+rh+dkppz58urOFysgUhyfKpNWM1sv5ntq+p2soIUEREREZGqZedn\nVz9DcNs0sEiDiCL79VvrOVhYwv1fGYBV2q9bUjcgUsLaN7jfU3H4b8uEOGZdOZiNuw/w6D83RR2D\nCNQwJNjdWwGY2U8JlnJ4jmC43A1Ap2p2FRERERGRk+BwyWEOFB2ofg3WlD5Rt7d25z7++NF2bhyV\nRu+OrY7Z3rVlV2Is5tiE9Yx2kNi2wsRLZcb07cBXh3Xm0fc28h9DOtEnQrsikUQ7JPgKd3/U3fe7\n+z53/x0woT4DExE5UWY2zcySLPCUmS0zs0sbOi4RkWiY2Stm9h9mpku4pFo5+cGSNhF7WEtLg1mC\no7x+1d35yWtraN2iGT+6JHKSGx8bT5eWXSJPvJTSF7KOTVgB7vvKQFo1j+dHL60gv1BDgyU60Z4A\nD5rZDWYWa2YxZnYDcLA+AxMRqQPfcvd9wKVAG4IZgH/WsCGJiETtUeB6YIOZ/czM+jZ0QNI4la3B\nGvEa1gOfQ3FB1Anr31fv4qMtOfz3pX1JbhFfZb2qZwruHbGHFaDtGc345VVDWLtrH//955WUlnpU\nMcnpLdqE9XrgGuDz8HZ1WCYi0piVXXRzOfBcuAxN9BfwiIg0IHef7+43AOcAW4H5ZvZvM5tsZlVn\nEnLayS7IBog8JPjIkjZpNbZzuLiEn73+Mf07JTHx3K7V1k1LSmPbvm24V0o62/eFQ3vgUE7E/S7u\n35G7xvXj76t38fM3Pj52f5FKolrWxt23oiHAInLqWWpmbwE9gLvNrBVQ2sAxiYhEzczaAZMIRogs\nB14AzgduAi5suMikMcnODxLWiEOCc8uWtKl5DdbnF20nMzef524eTGxM9b/vdk/qzqHiQ+zJ30NK\ni5SjG47MFPwJdBsZcd9bvngWn+Ye4vF/beaMhDh+eHHvGmOT01dUPaxm1sfM3jGzjPD5EDObXr+h\niYicsJuBu4Bz3f0Q0AyY3LAhiYhEx8xeBd4HWgBfcfcr3P0ld58KtGzY6KQxKethjZywbgWLgeTq\ne0zz8ov4/9/dwAW923NB75Rq6wJ0bxUsbbN139aKG9qHyWdWxZmCyzMzZlwxiCvP6cKDb3/Ck+9v\nrvF4cvqKdkjw74G7gSIAd18FXFtfQYmI1AV3LyW4jGGAmX0RGAi0btioRESi9nt3H+Du/+PuuwDM\nLAHA3dOr2snMxpnZejPbaGZ3RdieYGYvhds/NLO0sHysmS01s9Xh/UXl9hkelm80s99a5XVOpEHl\nFOSQGJdIi/gWx27M3QpJqRDXrNo2fvfeJvLyi7hzXL+ojtk9OUhYt+/bXnFD624Q17zK61jLxMQY\nv/j6EC4ffCYz/76OPy/5NKrjyuknqiHBQAt3/6jSuam4HuIREakzZvZzYCKwFiibjtCBfzVYUCIi\n0ZsJ/KNS2UKCa1ojMrNYYDYwFsgEFpvZPHdfW67azUCuu/cys2uBsnPlHoKe3J1mNgh4E+gS7vM7\n4DvAh2FM44DXT/D1SR3Jzs+OPOESBAlrm+7V7r8rL58/LNjCV4d1YVCX5KiOeWaLM2kW0+zYiZdi\nYqFdrxoTVoC42Bh+M/Fs9uUv5q5XVtOuZTMu6tcxquPL6SPaHtY9ZtaT4IseZnYVwbqsIiKN2VeB\nvu5+ubt/Jbxd0dBBiYhUx8zONLPhQKKZnW1m54S3CwmGB1dnBLDR3Te7eyHwJ46dh2QC8Ez4+C/A\nxWZm7r7c3XeG5WvC4yeYWScgyd0XeTBDzrME51dpJHIKcmibGGE4MIQJa1q1+z/23iZKS51bx0a/\nVmtsTCzdkrodOyQYgutYo0hYAZrFxfDYN4YzoFMS339hORs+3x91DHJ6iDZh/T7wONDPzHYA/wV8\nr96iEhGpG5sBzaQpIqeay4BfAanAg8Cvw9utwD017NsFKD+2MpOjvaTH1HH3YiAPqNw993Vgmbsf\nDutn1tAmAGZ2i5ktMbMlWVlZNYQqdSW7oIoe1sJDwbI21SSsu/cX8MfFn3LlOV3o2ram30Mq6taq\n27FDgiFIWHO3QVF+VO20TIjjqZvSOSMhlv98YRmHCjWQU46KNmHd5u6XAClAP3c/390jLLwkItKo\nHAJWmNnj4TVXvzWz3zZ0UCIi1XH3Z9x9DPBNdx9T7naFu79S38c3s4EEw4S/e7z7uvsT7p7u7ukp\nKTVP3CN1Iyc/p+oJl6DahPX3/9pMcUkpUy7sddzH7Z7cne37t1NSWlJxQ0ofwCF7U9RtdUhqzsPX\nns2mrAP8/PWPjzsWabqivYZ1i5m9AbwEvFuP8YiI1KV54U1E5JRhZpPc/Xkgzcxurbzd3R+sZvcd\nQPnpYFPDskh1Ms0sDkgGssNjpwKvAje6+6Zy9VNraFMaSElpCbmHc6tfg7Vt5CVtcg8W8vyi7UwY\n1oW09mcc97HTktIoKi1i18FdpLYq9ydyZGmb9XDmoKjbG92rPTeO7M6zi7Zx5TmpDO2qeRIl+h7W\nfsB8gqHBW8zsETM7v/7CEhE5ce7+DPBHYGl4ezEsExFpzMoyh5ZAqwi36iwGeptZDzNrRrCqQ+Uf\n7uYRrOMKcBXwrru7mbUG/g7c5e4LyiqHMxTvM7OR4ezANwL/W+tXJ3UqrzCPUi+toYc1csL6p8Wf\nkl9Uwve+1LNWx+6eFEzmtCVvS8UN7XoBBns2HHeb/31ZXzq0SmD6XzMoLfVaxSVNS1Q9rOH6hXOB\nuWbWBngY+D8gth5jExE5IeEEJc8AWwEDuprZTe6uWYJFpNFy98fD+wdqsW+xmf2AYIbfWOAP7r7G\nzGYAS9x9HvAU8JyZbQRyOLpU4Q+AXsB9ZnZfWHapu+8GpgBPA4kEswNrhuBGYk/+HoCqe1gTkiCx\nzTGbiktKeX7RNr7Qsx19z6zpd5DIerUOhhFv2ruJC1IvOLohPjFY3ibr+If2tmoez53j+nHr3JW8\nseYzLh/cqVaxSdMR7ZBgzOxLBFOejwOWANfUV1AiInXk1wRfttYDmFkfgh7X4Q0alYhIFMzsFwRL\n2+QDbwBDgB+Fw4Wr5O7/oNJyOO5+X7nHBcDVEfabGR4vUptLgOjHdspJs+dQkLB2SOxw7MayJW0i\nLJs7f91uduzN597xA2p97OSEZDokdmDD3gg9qR0Hwudrjy2PwoRhXfjde5v49VvruWzgmcTGaNnf\n01lUQ4LNbCvBzMDvA4Pd/Rp3f7k+AxMRqQPxZckqgLt/gmYNFpFTx6Xuvg8YTzBSpBdwe4NGJI1O\nVn4wG3NKYoRJrqpZ0ua5RVvp0jqRS/pHSHSPQ682vdiQGyFh7TAAsjdC8eHjbjM2xrjt0j5syjrI\n31btrHkHadKivYZ1iLt/zd3/6O4H6zUiEZG6s8TMnjSzC8PbkwQjRKpkZl3N7J9mttbM1pjZtLC8\nrZm9bWYbwvs2YbmFsw9vNLNVZnbOSXhdInJ6KBsJ9x/An909ryGDkcapLGFt36J9xQ2lpVUmrJm5\nh1iwMZuJ53YlLjbadCCyXq17sTlv87EzBXccAF4CWesj71iDSwecyVkpZ/DUB1sIlv+V01W1f6Fm\ndkf4cFb5JSG0NISInCL+E1gL/DC8rQnLqlMM3ObuA4CRwPfNbABwF/COu/cG3gmfA3wZ6B3ebgF+\nV9cvQkROW38zs48JLmN4x8xSgIIGjkkamaxDWbSKb0ViXGLFDQc+g5LDESdc+uvyYJLnr50dcTnd\n49K7TW8Olxzm0/2fVtzQMRxB/vmaWrUbE2N8a3QPVmXmsXhr7glGKaeymn5SWRfeL+HoLJvlbyIi\njZa7H3b3B939SuDbBAlntWOT3H2Xuy8LH+8nOA92ASYQTOBEeP/V8PEE4FkPLAJam5lmiBCRE+bu\ndwFfANLdvQg4SHDOETkiKz/r2N5VqHINVnfnlWU7GNGjLV3btjjh4/du3RuAjXs3VtzQtifEJsDu\n2iWsAF8/J5XWLeL5wwdbaq4sTVa1ky65+2vhw9VlX+BERE4VZvYecAXBuW4psNvM/u3uP4py/zTg\nbOBDoGO4tAPAZ0DH8HEXoPzPyplh2a5yZZjZLQQ9sHTr1u34X4yInK76EazHWv4727MNFYw0PlmH\nsqqecAmOSVhXfLqXzXsO8t0vnVUnx++R3APD2JC7gUu6X3J0Q2wcpPSp9cRLAInNYrkmvSt/+GAL\nWfsPk9IqoQ4illNNtIPWf21m68zsp2amGeJE5FSRHE5YciVBL+h5wMXR7GhmLYGXgf8K2zjCg4tp\njuuCGnd/wt3T3T09JSXCxBgiIpWY2XPAr4DzgXPDW3qDBiWNTrU9rBYDyV0rFP/vip00i4vhy3W0\nXEyL+BaktkqtYqbgQbUeElzmmvSuFJc6ryzLPKF25NQVVcLq7mOAMUAW8LiZrTaz6fUamYjIiYsL\nh+deA/wt2p3MLJ4gWX3B3V8Jiz8vG+ob3u/+f+3deXxU9b3/8dcnGwQIS0iAhCTsi+wIsikKbuCK\nbbXV26pttV5/Lr1tb3uv3Vfberu3drPVVlurttYFFVFccEFlkx1kXxIgEJaEPevn98ecyBASsk0y\nk+T9fDyGzHzPOd/zmTMzh/nM+S5B+U4g/NtAVlAmItJY44Fz3f0Od787uH0+2kFJ7HD3M19h7ZwF\nCUmnrD9v7R7OH5RG5/aRGzR/UNdBbDi44fQFPYaF+tIe3d/gugf26MT4Pt14YkmuBl9qo+o8LJi7\n57v7r4HbgeXAt2rZREQk2r4LvARscvfFZtYfqOYn4JPMzIAHgXXu/vOwRbOBm4P7NwPPhpXfFIwW\nPAkoCms6LCLSGKuBXtEOQmLXoZJDlFSUkJZcwxXWbn1OKVq98xA7C49z6fDIvq2GdR/G9kPbOVxy\n+NQFPYM5XhvRjxXg4+dks6XgKEu2a/Cltqiu87CeZWbfMbNVwG+AdwhdRRARiUlmFg9ku/sod78D\nwN23uPvHatn0XOBG4EIzWx7cLgd+DFxiZhuBi4PHAHOALcAm4E/AHU3wdESkbUoD1prZS2Y2u/IW\n7aAkdhQcC+Zg7VBNV5MDW0/rv/ry2nziDC4+q+fp6zfC8LThAKzbv+7UBR+OFNzwfqwAV47KoFO7\nBP65OLf2laXVOeOgS2EeAh4HZri7Zu8VkZjn7uVmdgPwi3pu9zZgNSw+rf9r0J/1zvpHKCJSq+9E\nOwCJbZVzsKYnV0lYi4/A0b2QeuqUNi+tyWdCv1RSOyYRScO6h66krt2/lgkZE04u6NQTklMbfYW1\nQ1ICM0f0Yu7qfL5/zQjaJ8Y3qj5pWWq9whpcpdjq7r9SsioiLcwCM7vfzKaa2dmVt2gHJSJSF+7+\nBrANSAzuLwY0a4N86MOEteoV1g9HCD6ZsG7bd5QNe44wI8LNgQFS26eS2TGTNfurJKZm0HM45K9q\n9Jm0Q50AACAASURBVD6uHp3J4eIy5q8vaHRd0rLUeoU1uEqRbWZJ7l7SHEGJiETImODv98LKHLgw\nCrGIiNSLmX2O0HRYqcAAQlNm/YE6jnYurd+HTYKrXmE9GMxbGnaF9c2NoXUvHFrNAE0RMDxt+OkJ\nK0DmGFj4RygrOWUAqPqaMqA7aZ2SeG7FLmaOUNfutqSuTYK3ErpSMZvQpNUAVBmQREQkpgQjnIuI\ntFR3AhMIzQWNu280s6bJNqRFyj+aT0pSCh0SO5y64ECQsIZdYX1zwz5yUjvQp3vHJollWPdhzNs+\nj6LiIrq063JyQeZYKC+BgnWQMbrB9SfEx3HFyAweX5zL4ROlpERwlGOJbXUdJXgzoSkh4oCUsJuI\nSMwys55m9qCZvRg8HmZmt0Q7LhGROioOb91mZgnUcw5oad3yj+aT0bGa+VQPboXkbpDcFYDS8gre\n3byP8wZVM5pwhAzvHhp46bSrrBlBY6ddyxq9j6vHZFJcVsG8tXsaXZe0HHW6wuru323qQEREmsBf\ngb8AXw8ebwCeIDRtjYhIrHvDzL4GJJvZJYRGIX8uyjFJDNl9dDe9OlbTPPbA1lOuri7bUcjRknLO\nb8qENW04hrGiYAVTMqecXJDaH9p1gV3LYVzj9nF2TjeyuiXz7PJdfPRsTVjSVtR1WpvXzey1qrem\nDk5EpJHS3P2fQAWAu5cB5dENSUSkzu4BCoBVwH8SmkbrG1GNSGJK/rEzXGEN67/61sYC4gwmD2i6\nhLVzUmcGdxvM+3uqjAtmBpmjI3KF1cy4anQmb2/ax/4jxY2uT1qGujYJ/jLwleD2TWA5sKSpghIR\niZCjZtadoAmdmU0CiqIbkohI3bh7BfAMcIe7X+vufwqm0hLhWOkxioqLTr/CWl4Khbmn9l/duI8x\n2V3pkty0/T7P7nk2KwpWUFpReuqCzLGwZw2UNT7JnDUmk/IK58XV+Y2uS1qGOiWs7r407LbA3b8E\nTGva0EREGu1LwGygv5ktAB4B7o5uSCIiZ2Yh3zGzfcB6YL2ZFZjZt+q4/UwzW29mm8zsnmqWtzOz\nJ4LlC82sb1DePWhVd8TM7q+yzfygzuXBTYM/RVn+sVDCdlrCWpQLXv7hFdaiY6WszCvkvEHpVauI\nuHE9x3G87Djr9q87dUHGGKgohb1rG72PIT1TGNijE8+t0GybbUVdmwSnht3SzGwm0KXWDUVEomst\n8DShuQv3AH8i1I9VRCSWfRE4FzjH3VPdPRWYCJxrZl8804ZmFg/8FrgMGAbcYGbDqqx2C3DQ3QcC\nvwDuC8pPEGpJ9+Uaqv+ku48Jbnsb8sQkcvKPhBLW05oEVxkhePG2A7jD5P7dmzymcT1DnVRPaxac\nOTb0d2fjpxE2M64alcmibQfILzrR6Pok9tW1SfBSQk2AlwLvELpqoZE2RSTWPQIMBX4I/AYYDPwt\nqhGJiNTuRuAGd99aWeDuW4BPATfVsu0EYJO7bwlGGH4cmFVlnVnAw8H9J4GLzMzc/ai7v00ocZUY\nt/vobqCahLXKHKyLtx0gMd4Ym9O1yWNKS06jb+e+LMpfdOqCbn2hYzrkLqp2u/q6cnQG7vDCqt0R\nqU9iW10T1v8Fxrh7P0Jf9o4Cx5osKhGRyBjh7re6++vB7XPA8GgHJSJSi0R331e10N0LgNo6IfYG\ncsMe5wVl1a4TDEZXBNTl8ttfgubA3zQzq8P60oTyj+VjGOkdqjT1PbAVEtpDp1BT4UXbDjCydxfa\nJ8Y3S1yTMiaxOH8xxeVh/VXNIHsi5L4XkX0MSO/EsIzOPL9SzYLbgromrN9w90Nmdh5wIfBn4PdN\nF5aISES8Hwy0BICZTUQDxolI7Ctp4LKm9El3HwlMDW43VreSmd1mZkvMbElBQUGzBtjW7Dqyix4d\nepAYV+U3jIPbQlc04+I4XlLOqrwiJvRr+ubAlaZmTeVE+QmW5i89dUHO5FBshyMzWNJVozNZtqOQ\n3AO6htba1TVhrZwG4grgT+7+ApDUNCGJiETMOOAdM9tmZtuAd4FzzGyVma2MbmgiIjUabWaHqrkd\nBkbWsu1OIDvscVZQVu06ZpZAaFyS/Weq1N13Bn8PA/8g1PS4uvUecPfx7j4+Pb3pB/lpy3IP55LT\nOef0BWFzsC7LPUhZhTOhX7dmi+ucXueQFJfEWzvfOnVBTvD78Y7IXGW9clSoKfTzK9UsuLWra8K6\n08z+CHwCmGNm7eqxrYhItMwE+gEXBLd+QdmVwFVRjKtezHQLv4m0du4e7+6dq7mluHttTYIXA4PM\nrJ+ZJQHXExotPdxs4Obg/rXAa2eaLsfMEswsLbifSOgcurohz00iZ8ehHWSnZJ9a6H7KHKyLtx7E\nDMb1SW22uJITkjmn1zm8vfPtUxf0GgUJyZC7MCL7yU7twJjsrmoW3AYk1HG9jxP6kvdTdy80swxC\nc7KKiMQsd98e7RhE2gr7rn5NCOffjs50qe5eZmZ3AS8B8cBD7r7GzL4HLHH32cCDwN/MbBNwgFBS\nC0DQGqUzkGRm1wCXAtuBl4JkNR54hdCo6xIlR0uPsv/E/tMT1iN7oPTYKSMED+mZ0uTzr1Z1Xu/z\nuG/xfeQezj0ZY0IS9B4HO96N2H6uGp3J959fy+aCIwxI7xSxeiW21HUe1mPu/pS7bwwe73b3l5s2\nNBERERGpL3ef4+6D3X2Au98blH0rSFZx9xPufp27D3T3CcEIxJXb9g2m0unk7lnuvjYYPXicu49y\n9+Hu/l/uXl7T/qXp5R4OjauVk1KlSfCBkyMEl5VX8P6Og0zo13xXVytdkHUBAK/teO3UBTmTYPdK\nKD4Skf1cMTIDM3h+hZoFt2Zq1isiIiIi0oJ8mLBW7cO6f2Pob/eBrN19iGMl5ZzTt/kT1uzO2ZyV\nehYvb6tyfavveeDlsP2diOynV5f2nNM3ledW7uIMrdqlhVPCKiISxsweMrO9ZrY6rOw7ZrYzmM5h\nuZldHrbsq2a2yczWm9mM6EQtIiJtyY5DOwBObxK8byPEt4OuOSzPLQRgXJ/mG3Ap3Iy+M1i5byU7\nj4SN+ZUzOTTlzpbXI7afq0ZnsmnvEdbvORyxOiW2KGEVETnVXwn12a/qF+4+JrjNATCzYYT6fg0P\ntvmdmTXPRHciItJm5R7OJbV9Kh0TO566YP8mSO0PcfEs31FIeko7Mrq0j0qMl/a9FIB52+adLExs\nH0paN79Ww1b1d9mIXsTHGc+t0OBLrZUSVhGRMO7+JqFBSOpiFvC4uxe7+1ZgEzVM9SAiIhIpW4u2\n0qdzn9MX7NsIaQMBWJ5byJjsrliUhlfPTslmWPdhvLTtpVMXDLgQCj6AQ5FJMNM6tWPKgO48t2K3\nmgW3UkpYRUTq5i4zWxk0Ga5sX9UbyA1bJy8oExERaRLuzqbCTQzsOvDUBeWloSltug+i6FgpW/Yd\nZUx21+gEGZjRdwar968m91DYf5UDpof+bo5gs+BRmew4cIyVeUURq1NihxJWEZHa/R4YAIwBdgM/\nq28FZnabmS0xsyUFBQWRjk9ERNqIguMFHCo5dHrCenA7VJRB94GsyAv1X412wjqzb6iHzYvbXjxZ\n2GM4dOoJG1+qYav6mzG8F4nxpjlZWyklrCIitXD3Pe5e7u4VhOYerGz2uxMIH/EiKyirro4H3H28\nu49PT09v2oBFRKTV2nRwEwCDug06dUHlCMFpg1iRW4gZjMzq0szRnSqzUyZje4zlxa1hCWtcHAy5\nHDa+AqXHI7KfLh0SuWBwOs+v3E1FhZoFtzZKWEVEamFmGWEPPwJUjiA8G7jezNqZWT9gELCoueMT\nEZG2Y2NhKDE97QrrvpNT2izPLWRAeic6t09s5uhOd1m/y9hUuIkNBzecLDzrSig9ClvmR2w/V47K\nZHfRCZbuOBixOiU2KGEVEQljZo8B7wJDzCzPzG4B/s/MVpnZSmA68EUAd18D/BNYC8wF7nT38iiF\nLiIibcCGgxtIS06jW/sq09Xs3wQduuPJ3T4ccCkWXNrnUuItnjlb5pws7Hs+tOsC656L2H4uHtaT\ndglxGi24FVLCKiISxt1vcPcMd0909yx3f9Ddb3T3ke4+yt2vdvfdYevf6+4D3H2Iu794prpFREQa\na2XBSkZ0H3H6gv2boPsg8g4eZ//RkphJWLsnd2dSxiTmbpt7chTfhCQYPAPWzwkNFhUBndolcNFZ\nPZizajdl5RURqVNigxJWEREREZEWoKi4iG2HtjEyfeTpC/dtgLRQc2CI/oBL4S7rdxk7j+xkRcGK\nk4UjPgbHD8LGlyO2nytHZbLvSAkLt9Z1djppCZSwioiIiIi0AGv2rQFgZFqVhPVIARwtgB7DWZFb\nSLuEOIb0SolChNW7KOcikuKSTh18aeDF0LEHLHs0YvuZPqQHHZPi1Sy4lVHCKiIiIiLSAiwvWI5h\njEir0iR479rQ3x5nsTy3kBG9u5AYHztf8zsldeKC7AuYu20uZRVlocL4BBj9idD0NkciM91bclI8\nlwzrydw1+ZSUqVlwaxE772QREREREanRgl0LGJE2gpSkKldPg4S1NO0sVu0siqnmwJUu73c5B04c\nYFF+2GD6Yz4Vmjt2xT8itp8rR2VSeKyUBZv2RaxOiS4lrCIiIiIiMa7wRCGr963mvN7nnb5wzxro\nkMb6I8kUl1UwOgYT1qlZU+mU2OnUZsE9hkKf82DhAxEbfGnq4DQ6t09gtpoFtxpKWEVEREREYtyC\nXQuo8AqmZE45feHedR82BwYYG4MJa7v4dlyYcyGvbH+F4vLikwum3A2H8mDNM5HZT0I8M0f0Yt7a\nPZwo1UxzrYESVhERERGRGPfclufo1bEXo9JHnbqgoiKUsPYMDbiU2jGJrG7J0QmyFlf0u4IjpUd4\nO+/tk4WDLoW0wfDOr6By2ptGump0JkeKy5i/fm9E6pPoUsIqIiIiIhLDcg/l8u6ud7mq/1XEWZWv\n74XbofQo9BjGirxCRmd1wcyiE2gtJmRMILV9KnO2zjlZGBcH534B8lfB2mcjsp/J/bvTvWMSz63Y\nXfvKEvOUsIqIiIi0ImY208zWm9kmM7unmuXtzOyJYPlCM+sblHc3s9fN7IiZ3V9lm3FmtirY5tcW\nqxlRK/XbFb8lMS6RG4becPrCYMClY90Gs3HvkZjsv1opIS6BS/tcyht5b3Ck5MjJBaOvh/Sz4NXv\nRaQva0J8HJePzODVD/ZwpLis0fVJdClhFREREWklzCwe+C1wGTAMuMHMhlVZ7RbgoLsPBH4B3BeU\nnwC+CXy5mqp/D3wOGBTcZkY+ejlWeox9x/dR4aEpWdydf234Fy9seYGbh99Meof00zfavQIsjtWl\nWbgT0wkrwOX9L6e4vJj5efNPFsbFw8XfhgObYclDEdnP1WMyOVFawavr9kSkPomehGgHICIiIiIR\nMwHY5O5bAMzscWAWsDZsnVnAd4L7TwL3m5m5+1HgbTMbGF6hmWUAnd39veDxI8A1wItIROQfzecH\n7/2AN/PexHGSE5Lp3ak3ZRVlbDu0jSmZU7h91O3Vb7xrGaSfxbL8EgBGZ8V2wjo6fTRpyWm8vuN1\nrux/5ckFg2fCgAvh1e/D0CuhS+9G7WdcTjcyurTnuRW7mDWmcXVJdClhFREREWk9egO5YY/zgIk1\nrePuZWZWBHQHapq4sndQT3id1WYAZnYbcBtATk5OfWNvkw6cOMCn536agycOcuvIW0lLTiP3cC67\njuzCcf7jrP/g2kHXkhifePrG7rDzfRg8k5V5RWSnJpPaMan5n0Q9xFkcF2RdwNxtcykpLyEpPojX\nDK74OfxuMsz5Mlz/j1BZQ/cTZ1w5KoO/vrONomOldOlQzfGTFkEJq4iIiIhEhLs/ADwAMH78+MgM\n+drK/eC9H7D32F4envkwI9NH1m/jojw4tg8yx7D8tULG5sT21dVK07On8++N/2ZJ/hKm9A6bpie1\nH0z/Gsz7Jiz/B4z9ZKP2c9XoTP701lZeWpPPx8/JbmTUEi3qwyoiIiLSeuwEwr+ZZwVl1a5jZglA\nF2B/LXVm1VKnNMD7e95n3vZ53D769vonqxBqDgwUdhvJzsLjMd8cuNLEjIm0j2/P67mvn75w8p3Q\ndyrM+Qrs29So/Yzs3YU+3Tvw3MpdjapHoksJq4iIiEjrsRgYZGb9zCwJuB6YXWWd2cDNwf1rgdfc\na54A0913A4fMbFIwOvBNQGTmH2njHlj5AKntU7lx2I0Nq2DX+xCXyLKSUAvtWB9wqVL7hPZMzpzM\n/Lz5nPbWi4uHj/wREpLgyc9AWXGD92NmXDUqkwWb9lFwuOH1SHQpYRURERFpJdy9DLgLeAlYB/zT\n3deY2ffM7OpgtQeB7ma2CfgS8OHUN2a2Dfg58GkzywsbYfgO4M/AJmAzGnCp0fIO57Fg1wJuGHoD\nyQnJDatkx0LIGMWyXceJMxjRu3Nkg2xC07Onk380n/UH15++sEtvmPVbyF8ZmuqmEa4anUmFw4ur\nNSdrS6U+rCIiIiKtiLvPAeZUKftW2P0TwHU1bNu3hvIlwIjIRSnPb3kegFkDZjWsgtLjsHMJTLyd\nFbmFDO6ZQoeklvPVfmrWVAzj9dzXGZo69PQVhl4B59wK794P/afDoIsbtJ8hvVIY0jOF51bs4qbJ\nfRsXtESFrrCKiIiIiDQjd+f5Lc9zTq9zyOiU0bBKdi6F8hK8zxRW5hW2mP6rldKS0xiVPor5ufNr\nXunSH0CPYfDM7XBkb4P3ddXoDBZvO8iuwuMNrkOiRwmriEgYM3vIzPaa2eqwslQzm2dmG4O/3YJy\nM7Nfm9kmM1tpZmdHL3IREWkpNhZuZPuh7Vze7/KGV7JtAWDkpYzh4LFSRmV3iVh8zWVa9jTW7l9L\n/tH86ldITIZrH4Liw/D07VBR0aD9XDkqE4AXVqpZcEukhFVE5FR/BWZWKbsHeNXdBwGvcrK/12XA\noOB2G/D7ZopRRERasDfz3gTg/KzzG17JltdD/VcLQoMWtbQrrADTsqYBJ49HtXqcBTPuhc2vwnu/\na9B++qZ1ZFRWF40W3EIpYRURCePubwIHqhTPAh4O7j8MXBNW/oiHvAd0NbMGtu0SEZG24q28tzgr\n9Sx6dOjRsAqOHYDchTBoBitzC2mXEMeQXimRDbIZDOg6gN6devNG3htnXnH8LTDkcnjt+7B/c4P2\nddWoTFbmFbFt39EGbS/Ro4RVRKR2PYNpHQDygZ7B/d5Abth6eUHZaczsNjNbYmZLCgoKmi5SERGJ\naUXFRawoWMHUrKkNr2TjPPAKGDKTZbmFjOjdhcT4lve13syYlj2NhbsXcrzsDP1LzeCKn0F8Ejz/\nRah5FqYaXTEq9Hvy87rK2uK0vHe2iEgUBXMV1vt/Snd/wN3Hu/v49PT0JohMRERagmV7l1Hu5UzO\nmNzwSta/AJ16UtxjFKvyihjXp1vkAmxmF2RdQHF5Me/teu/MK3bOhIu/DVvfgBWP13s/mV2TOadv\nN55boX6sLY0SVhGR2u2pbOob/K0cqnAnkB22XlZQJiIiUq1le5eREJfAiLQGzhJ0/CCsfxGGXcPq\nXUcoKa/g7JyWm7CO7zmejokda28WDDDus5A1AV7+Bpwoqve+rh6dyfo9h1mff7gBkUq0KGEVEand\nbODm4P7NwLNh5TcFowVPAorCmg6LiIicZvne5QxLHUb7hPYNq2DVk1BeAmM/ydLtoSEXWvIV1sT4\nRKZkTuHNvDep8FpGAY6Lg8vug2P74O1f1ntfl43MID7OmL1Cvy23JEpYRUTCmNljwLvAEDPLM7Nb\ngB8Dl5jZRuDi4DHAHGALsAn4E3BHFEIWEZEWoqS8hNX7VjOmx5ig4CjMvw9+fx7cfw4894UzDypU\nXgbv3g+ZZ0OvUSzdfpA+3TuQntKueZ5AE5mWPY2C4wWs27+u9pV7nw0jPx4aMbgwt/b1w6R1asd5\nA9N4dvkuvAH9YCU6lLCKiIRx9xvcPcPdE909y90fdPf97n6Ruw9y94vd/UCwrrv7ne4+wN1HuvuS\naMcvIiKxa+3+tZRUlDC2x9jQSL9/vQLm/xA6dIPUAaG+mb+dCK9+H0pPnF7Bskfg4DY4/ys4sHT7\nQca14ObAlab2nkqcxTE/b37dNrjoW6G/r36v3vuaNSaTvIPHWbr9YL23lehQwioiIiIi0gyW710O\nwJi0UfDvW2DPWrj+Mbj5OfiPx+G/lsOIj8FbP4U/nAvbFpzcuGADvPwt6DsVhlzGjgPH2HekhLNb\ncHPgSt3ad2N0+mjeyK1DP1aArtkw6f/Bqn+FjmE9XDq8F+0T43hmuZoFtxRKWEVEREREmsGyvcvI\nTskmbdW/YfNrcPn/wdDLT66Q0gs++kf41FNQXgp/vRye/CzM+zY8dCkkJsOs34LZh1cIW3L/1XAX\nZF3AugPryD+aX7cNpnwekjrBGz+ufd0wndolcMmwXrywcjel5bX0mZWYoIRVRERERKSJuTvLC5Yz\nNnUYzP8RDLgIzr65+pUHXgR3vAtT7oZNr8CCX0HGaPjsXOjWB4Al2w+S0i6BwT1TmvFZNJ0Lsi4A\n4M28N+u2QYdUmHQ7rH0W8lfXa1/XjMnk4LFS3tqoedFbAiWsIiIiIiJNbMfhHRw4cYAxB3ZB8WGY\ncS+Y1bxBUke49Afwv9vhm/vgpmeh+4APF7+3eT/n9EslPu4MdbQgA7oOoHen3szPnV/3jSbdAe06\n1/sq6/mD0+nWIZFnlu2qX5ASFUpYRURERESa2LK9ywAYu/FNGHU99DirbhuaQXzCKUX5RSfYsu8o\nUwZ0j3SYUWNmTMuexsLdCzlWeqxuG3VIhYm3w7rnYPfKOu8rMT6OK0ZlMG/tHo4WlzUwYmkuSlhF\nRERERJrY8r3LSYlLov/xwzDlrkbV9e6WfQBM6t96ElYINQsuqShh4e6Fdd9o8h3Qrgu8cV+99jVr\nTG+Ol5bz8to69pmVqFHCKiIiIiLSxJbteZ8xx08Q13869BzeqLre2bSfLsmJDMvoHKHoYsP4nuPp\nlNiJN/LqOFowQHK3UF/WD56H/FV13mxcTjd6d01Ws+AWQAmriIiIiEgTKiouYsuhrYw9eig0HUsj\nvbN5P5P7dyeulfRfrZQYn8iUzCm8kfcGFV6PEXwn/b+gL2vdr7LGxRkfGdubtzYWkF9UzZy3EjOU\nsIqIiIi0ImY208zWm9kmM7unmuXtzOyJYPlCM+sbtuyrQfl6M5sRVr7NzFaZ2XIzW9I8z6T1+HD+\n1bhOMPDiRtWVe+AYOwuPM2Vg62oOXGla9jT2Hd/H2v31mF81udvJvqz1GDH4uvFZVDj8a0luAyKV\n5qKEVURERKSVMLN44LfAZcAw4AYzG1ZltVuAg+4+EPgFcF+w7TDgemA4MBP4XVBfpenuPsbdxzfx\n02h1luW9RYI7I866FuLia9/gDN7YEJqKZcqAtEiEFnPO630ecRbH67mv12/Dyqusb/5fnTfp070j\n5w7szhNLcqmo8HpGKs1FCauIiIhI6zEB2OTuW9y9BHgcmFVlnVnAw8H9J4GLzMyC8sfdvdjdtwKb\ngvqkkZbtmM9ZxSUk1zTvaj289sFe+nTvwID0jhGILPZ0a9+NcT3HMW/7PNzrkUR2SIWJ/xmal3XP\nmjpvdv05OeQdPM6CzfsaEK00ByWsIiIiIq1HbyC8fWNeUFbtOu5eBhQB3WvZ1oGXzWypmd1W087N\n7DYzW2JmSwoKChr1RFqL0rIS1hzfw5ikVEgb2Ki6jpeUs2DTPi4c2gM70xyuLdzMvjPZWrSVDQc3\n1G/DSXdAUgq8UferrJcO70m3Dok8vkjNgmOVElYRERERqc157n42oabGd5rZ+dWt5O4PuPt4dx+f\nnp7evBHGqLUfPEWxwdi+FzW6rnc276O4rIKLhvaMQGSx65I+lxBv8by49cX6bXjKVda69YFtlxDP\nR8/O4uW1+ew9rMGXYpESVhEREZHWYyeQHfY4Kyirdh0zSwC6APvPtK27V/7dCzyNmgrX2fJ1/wJg\nzJhbGl3XK+v20jEpngn9UhtdVyzr1r4bkzInMXfb3Po1CwaYfCckdaxXX9YbJ/WhrML5+7vb6xmp\nNAclrCIiIiKtx2JgkJn1M7MkQoMoza6yzmygsjPltcBrHsoKZgPXB6MI9wMGAYvMrKOZpQCYWUfg\nUqDuQ7G2ZWUlLD2whmxrR3q3/o2rqryCl9fkM21oD5ISWv9X+Mv6XsbOIztZta/uc6sCJ6+yrnkG\n9n5Qp036pnXkoqE9+fvCHZwoLW9AtNKUWv+7XURERKSNCPqk3gW8BKwD/unua8zse2Z2dbDag0B3\nM9sEfAm4J9h2DfBPYC0wF7jT3cuBnsDbZrYCWAS84O5zm/N5tVQVG19iWWIcZ6eNanRdCzbvZ//R\nEq4enRmByGLfhTkXkhSXxAtbXqj/xpPvCl1lnf/DOm9y69R+HDhawtPLqjZIkGhLiHYAIiIiIhI5\n7j4HmFOl7Fth908A19Ww7b3AvVXKtgCjIx9p67d1xSMUxsczbsBlja5r9vJdpLRPYNqQttE3OCUp\nhQtzLuSFrS/wpfFfol18u7pv3CE1lLS+8WPY8R7kTKp1k4n9Uhme2Zk/v7WFT4zPJi6u9Q5q1dLo\nCquIiIiISKQdL2Tp7kUAnJ3RuC6/R4vLeGlNPjOH96JdQuPmcW1JPjb4YxQVF/HK9lfqv/G5n4eU\nDJj7VaioqHV1M+M/LxjA5oKjvLBqdwOilaaihFVEpI7MbJuZrTKz5Wa2JChLNbN5ZrYx+Nst2nGK\niEgMWPsM7yfF0z2pCzkpOY2q6pnlOzlSXMYNExtXT0szodcEsjpl8eSGJ+u/cVJHuOjbsOt9WPWv\nOm1y5cgMBvfsxC9f2UB5RT0He5Imo4RVRKR+prv7GHcfHzy+B3jV3QcBrwaPRUSkjfMVj/N+h46c\nnTGhUXOmujt/e3c7wzI6Mza7awQjjH1xFsfHBn+MJXuWsK1oW/0rGPUJyBwL874Jxw/Wvr84AFIr\nUwAAGnlJREFU44sXD2ZzwVFmr1Bf1lihhFVEpHFmAQ8H9x8GroliLCIiEgsObmP7rsXsjoOJvSY2\nqqoFm/bzQf5hbpzcp1GJb0t1zcBrSIhL4NF1j9Z/47g4uPKXcHQfvPzNOm0yY3gvhmV05hfzNmrE\n4BihhFVEpO4ceNnMlprZbUFZT3ev7OyST2g0zdOY2W1mtsTMlhQUFDRHrCIiEi3vP8KCDskATOk9\npcHVuDu/fGUDvTq356Nn945UdC1KWnIaV/W/iqc3Pc3+4/vrX0HmGJhyNyz7G2x+vdbV4+KMr11+\nFjsOHOPPb21pQMQSaUpYRUTq7jx3Pxu4DLjTzM4PXxjMY1htpxd3f8Ddx7v7+PT0tjHCo4hIm1Re\nCsv+zrtp2WSnhG4NNX99AUu2H+TO6QPa1GBLVX16xKcpKS/hHx/8o2EVTLsHug+CZ+6AI7X/aHze\noDQuH9mL+1/fxM7C4w3bp0SMElYRkTpy953B373A08AEYI+ZZQAEf/dGL0IREYm6DXMpPbKHRVbC\nlMyGX109XlLOt2avpn96Rz5+TsOT3tagf5f+TM+ezmMfPEZRcVH9K0hMhmsfgmP74alboaL2pr5f\nv2IYhvH1p1cR+j1aokUJq4hIHZhZRzNLqbwPXAqsBmYDNwer3Qw8G50IRUQkJix5iKWpvTle0biE\n9UcvriP3wHF++JGRbfrqaqU7x97J0dKj/GHFHxpWQcYouOKnsGU+vPq9Wlfv3TWZr14+lPnrC/j7\nwh0N26dEhBJWEZG66Qm8bWYrgEXAC+4+F/gxcImZbQQuDh6LiEhbtGcNbH6NV7KG0T6+PZMyJjWo\nmicW7+CRd7fzuan9mNS/e4SDbJkGdxvMRwZ+hMfXP86Wogb2LR17I4z/LCz4Jbz7u1pXv3FSH84f\nnM69L6xlff7hhu1TGk0Jq4hIHbj7FncfHdyGu/u9Qfl+d7/I3Qe5+8XufiDasYqISJQs+DXliR15\npaSAqVlT6ZDYod5VPLZoB/c8tYqpg9L435lDmyDIluuusXfRKbETX3/r65RWlNa/AjO4/Kdw1lXw\n0ldh6cO1rG789NpRdG6fyK2PLObA0ZIGRi6NoYRVRERERKSxCnNh9ZO8P/JK9hcf4NI+l9Zr89wD\nx/jvf67gq0+tYuqgdB64cTwJ8fqqHi4tOY1vTvomq/ev5v5l9zeskrh4+OifYeDF8Nzn4a2fwxn6\nqPbo3J4HbhrP3kPF3PbIEo6VlDUwemkofQpERERERBrrjR+DxfFMp450SOjA+Vnn174NsHT7Qe54\ndCkX/OR1nl2+k7umD+Shm8eTnKR+q9W5tO+lXDf4Oh5a/RD/WNfAUYMT28P1j8HI6+DV78Kzd0LJ\nsRpXH5PdlZ9/fAzv7zjIZ/6yWElrM0uIdgAiIiIiIi3anjWw/B8UTbiVl3a9zqwBs87YHLisvIIX\nV+fz4NtbWZ5bSOf2Cdx2/gBuntKHjC7JzRh4y/S1iV+j4HgBP1r0I3Ye2cndY++mfUL7+lWSkAQf\neQBS+8Mb/we7V4RGEk4fUu3qV4zKoKxiDF98Yjk3PPAef7xxPL261HOf0iBKWEVEREREGqqiAuZ8\nBdql8ExGf4r3zuW6IddVu+rR4jIeW7SDvyzYxs7C4/Tt3oHvzRrOx87OomM7fS2vq4S4BH4+7efc\nt+g+Hln7CPO2z+PawdcyKWMSOSk5dGnXBTOrvaK4OJj+NciaAE99Dv5wHlzwP3DuFyA+8bTVZ43p\nTXJiPF94YjlX3/82P71uNOcP1tzqTU2fDBERERGRhlr8Z9i+gONX/ZK/rH+YCb0mMDT11MGSio6V\n8td3tvGXd7ZSeKyUCf1S+c7Vw7lwaA/i4+qQWMlpEuMS+cakb3BJn0v448o/8ptlv+E3y34DhBLa\nlMQUUpJS6JTUiZSkFLokdWFgt4EMSx3GiLQRdE8OG3150MVw5yJ48Svw2g9g9dMw84fQf9pp+710\neC+eumMKdzz6Pjc9tIiPj8/iyzOG0CNFV1ubSpMmrGY2E/gVEA/82d0jNt3DN55ZxWMLcymvoZO0\nAYnxRkn5yeXnDkjl0c9N5pllO/nJS+vZVXicDknxHCspx8O2q8/UwJV1hvvkn95lwWYNFNraVL7W\nE++dx57DJ0eJq3zPVH3vVFde0zo1iTfjhonZ/OCakWd8zyfGQVkFZHZN5iszhnDN2N411llTPWbw\nyYk5/OCakaeUh39e6lK/iIhIm5G3BF7+Bgy8mIcTitl/Yj8/G/OzDxcXHS/lwbe28NCCbRwpLuOi\noT24Y/pAxvXpFsWgW5eJGROZmDGRfcf3sXzvcvKP5rPv+D4OlxzmcOlhDpcc5kjJET448gHzts/D\ng29eOSk5jOkxJnRLH8OArgOIu+6voX6tc++BR2bBoBlwyfegx6k/QAzt1Zk5n5/KL17ZwJ/f2spz\nK3Zz05Q+3Dy5L5ld1aQ70szPMCpWoyo2iwc2AJcAecBi4AZ3X1vTNuPHj/clS5bUWvc3nlnF399r\n2AS+g3p0JO/gCY6Xljdo++qEJ61KVlu3BIOypvnInNGgHh3ZuPdondZNToznRx8dWW1SWZfPzqcm\nnUxan1m2k68+teqUz8uZ6m8KZrbU3cc3y86aSV3PdZXq0qqpLYnIf1v/0EE9xX80/qDad3VMw/m3\n63dMda5rgQo2wMNXQkJ7Nn38IT7+6m1cmHMhP73gpxwpLuMvb2/lT29t4dCJMi4b0Yu7LxzEsMzO\n0Y66TTtWeox1B9axsmAly/YuY0XBCg6cCH1vT0lMYVSPUQzsMpCe7VPpuWslPVY9Q9bxQ3QfchV2\n/peh18jT6ty67yi/mLeB51buwoALh/bko2f3ZtqQdDokqTFrVQ051zXlUZwAbHL3LQBm9jgwC6gx\nYa2rxxbmNnjbun7pr4/wBFXJausWjWQV6ve+PV5azk9eWl9tQlmXz85jC3M/TFh/8tL6037cOVP9\nIiIibcK2BfDPm8CMfR97gP9679t0TurMZ4d+gZ+89AGPLtxB4bFSLj6rJ1+8ZBDDM7tEO2IBOiR2\nYFzPcYzrOY7P8BncndzDuSzbu4zlBctZvnc5S/KXUFxeHNogPQVIoePRpeTMvpZh7dMY0/cSxo68\nkZyu/TEz+qV15Nc3jOUrM4bw+OIdPLE4j1fW7aFdQhwXDE5n+tAenDsgjZzu9Z+TV0KaMmHtDYR/\nO84DJlZdycxuA24DyMnJqVPFNTUDFpGQXYXHqy2vy2cnfJ2a6qmpXEREoq+2Lllm1g54BBgH7Ac+\n4e7bgmVfBW4ByoHPu/tLdamzzTi0C976GSx+EFL7sfKye/mfRd9l77ECBlf8N1f/aiXl7lx8Vk/u\nmj6Q0dldox2xnIGZkdM5h5zOOcwaOAsAd+dQySHyj+az59gecg/nsuPARrblvcPLx3bx763/hq3/\nJj2uHeNTh3NO/5mckzmZPt368JUZQ/nSJUNYvO0Ac1fnM3d1Pi+v3QNAVrdkzh2Qxvi+3Rid3ZUB\n6Z3Uf7mOon6d2t0fAB6AUNORumwTb6akVeQMauo/UZfPTnxY+9PMrsnsrCY5Vf8MEZHYFHTJ+i1h\nXbLMbHaVLlm3AAfdfaCZXQ/cB3zCzIYB1wPDgUzgFTMbHGxTW52tizuUHIGjBXBwO2W7VlCx8RVK\n895ld0ICr+RM45l2KexccA8VZZ05vvOzbE1M59NTMrlpcl9dTWvBzIwu7brQpV0XhqSeOsVNRVkJ\nW1b9g/fXPs6Sos0sLlnMi/veBwglsJ36MLzbUHK6D+VT44dw9/Sz2Hc0mfe2FLFg0z5eXL2bJ5aE\nruclJ8YzLLMz/dI60ie1A33SOtIjpR2pHZPo1iGJrh0SSYyPa/bnH4uaMmHdCWSHPc4KyhrthonZ\nMdeHNfy+mgW3Xi2lD+tXZlQ/h1hdPjs3TDz5sf3KjCHV9mGtqX4REYm6unTJmgV8J7j/JHC/heYA\nmQU87u7FwFYz2xTURx3qbLDisnKu+PXbuIeGwznS4VlKklYBYFTQ0/eeMkChw2mPP/zXTl9W3WOr\n47of3jcoM+NEn8ygZDN+ohPpXM6M7E8w/cIczumbSpyumLVqcQlJDBz7aQaO/TQfLz2Ob3mD7Rvn\nsLhgGYuP5bOkZC0vHtoA22efsl2HCqcd0D0HegJxHmqqcNxhTSGsLgS2VL/Pmt5R9X2nFVs79ltq\nLdvFkVb0tXrWDL//1DgG9uhU7+3qqikT1sXAIDPrRyhRvR74j0hUXNm/LhZHCX70c5M18FIr1RpG\nCT7TZ6e6UYIr69EowSIiLUZdumR9uI67l5lZEdA9KH+vyraVJ/xau3lBw7p6xZkxpGdKUAHsKu9F\nkReBGXFeQdaJY6Ev2W5glV/UK7922ymP7ZSysPt2ckno/16reV0MtzjK4tpTFteO0vgOlLdPJT6p\nI6ntU8npnMmE3sOZmDWM+Lj4Oj1HaYUSk7EhM+k7ZCZ9gesqyuHIHooK1rGjYDW5h3MpLC6kqOQw\nh0qPUurllHk5ZV5BuVdQ5uUfjljs7pRVOBXuVFQQ+uuElnvwY0rl4xr4h/9U73hcRyqSsmp5UnEM\n6ln/xLNdQtNeCW6yUYIBzOxy4JeEfkR4yN3vPdP6rX40ORGpN42cqVGCq9IowU1AowRHXLRGCTaz\na4GZ7n5r8PhGYKK73xW2zupgnbzg8WZCCeh3gPfc/e9B+YPAi8FmZ6yzOvpeJyJVxdoowbj7HGBO\nU+5DRERERD5Uly5ZlevkmVkC0IXQ4Etn2rZJunmJiNRGPXlFREREWo8Pu2SZWRKhLlmzq6wzG7g5\nuH8t8JqHmtzNBq43s3ZBl65BwKI61iki0iSiPkqwiIiIiERG0Cf1LuAlTnbJWmNm3wOWuPts4EHg\nb8GgSgcIJaAE6/2T0GBKZcCd7l4OUF2dzf3cRKRtUsIqIiIi0opU1yXL3b8Vdv8EcF0N294LnDbm\niLp5iUi0qEmwiIiIiIiIxCQlrCIijWRmM81svZltMrN7oh2PiIiISGuhhFVEpBHMLB74LXAZMAy4\nwcyGRTcqERERkdZBCauISONMADa5+xZ3LwEeB2ZFOSYRERGRVsE8IjOwR4aZFQDb67BqGrCvicOJ\nJXq+rZue75n1cff0pgqmsczsWmCmu98aPL4RmOjud1VZ7zbgtuDhEGB9swYaGW3tvdocdEwjr6Ue\n05g+1zVEPb7XNZVYfS8orrqLxZhAcdVXeFz1PtfF1CjBdQ3ezJa4+/imjidW6Pm2bnq+bYO7PwA8\nEO04GqOtvnZNScc08nRMY0e0E/BYfS8orrqLxZhAcdVXY+NSk2ARkcbZCWSHPc4KykRERESkkZSw\niog0zmJgkJn1M7Mk4HpgdpRjEhEREWkVYqpJcD206GZ1DaDn27rp+bZg7l5mZncBLwHxwEPuvibK\nYTWVVvXaxQgd08jTMZVKsfpeUFx1F4sxgeKqr0bFFVODLomIiIiIiIhUUpNgERERERERiUlKWEVE\nRERERCQmtbiE1cxmmtl6M9tkZvdEO55IM7NsM3vdzNaa2Roz+6+gPNXM5pnZxuBvt2jHGilmFm9m\ny8zs+eBxPzNbGLzGTwQD2bQaZtbVzJ40sw/MbJ2ZTW7lr+8Xg/fyajN7zMzat/bXuLUxs0eD8+5q\nM3vIzBKDcjOzXwev40ozOzvasTa3pjpnm1lnM8szs/vDysaZ2argeP/azCzSz6e1MrNzzKwsmDe5\nsuzm4PXZaGY3RzM+iSwz+0nwf+xKM3vazLoG5X3N7LiZLQ9uf4hCbFH/HnuG89Z3zGxn2PG5PAqx\nbQvOc8vNbElQFtXvSGY2JOyYLDezQ2b2hWgcr+D/4L1mtjqsrNrj01z/R9cQU0Q/gy0qYTWzeOC3\nwGXAMOAGMxsW3agirgz4b3cfBkwC7gye4z3Aq+4+CHg1eNxa/BewLuzxfcAv3H0gcBC4JSpRNZ1f\nAXPdfSgwmtBzb5Wvr5n1Bj4PjHf3EYQGJbqe1v8at3hmlmRmHYOHjwJDgZFAMnBrUH4ZMCi43Qb8\nvrnjjAFNdc7+PvBmlbLfA5/j5DGf2ZjAW4JIfDENvjvcB7wcVpYKfBuYCEwAvt3cX4KlSc0DRrj7\nKGAD8NWwZZvdfUxwu705g4qh77E1nbcg9H9z5fGZE4XYAKYH+6+ctzOq35HcfX3lMQHGAceAp4PF\nzX28/srp5/6ajk9z/R9dXUwR/Qy2qISV0H8qm9x9i7uXAI8Ds6IcU0S5+253fz+4f5hQMtOb0PN8\nOFjtYeCa6EQYWWaWBVwB/Dl4bMCFwJPBKq3muQKYWRfgfOBBAHcvcfdCWunrG0gAks0sAegA7KYV\nv8YtnZmdZWY/A9YDgwHcfY4HgEWE5pqF0Pv2kWDRe0BXM8uISuBR0hTnbDMbB/Tk1AQrA+js7u8F\nr8Mj9amzBVtioSv8FzbiivLdwL+BvWFlM4B57n7A3Q8S+nLV6n8AaCvc/WV3LwsevsfJc1a0xcT3\n2DOct2JVLH1HuohQwrU9Gjt39zeBA1WKazo+zfJ/dHUxRfoz2NIS1t5AbtjjPGL7A9YoZtYXGAss\nBHq6++5gUT6hLzOtwS+B/wEqgsfdgcKwN3lre437AQXAXyzUDPrPwVWsVvn6uvtO4KfADkKJahGw\nlNb9Grc4ZtbRzD5jZm8DfwLWAqPcfVmV9RKBG4G5QVGbOifXpi7nbDPrYWZ/N7MVZvY3M7vAzM42\ns98Ey+OAnwFfrlJ9b0LHt1JbOdaDgceAu4C1ZvY1M8usXGhmv6jSVK/ydk+wvDfwEU6/sqD3btvx\nWeDFsMf9gv9/3zCzqc0cS8y976qctwDuCppxPhSlVgcOvGxmS83stqAslr4jXU/onFQp2scLaj4+\nsfJ+a/RnsKXOw9rqmVknQr8If8HdD4X/sOzubmYtfj4iM7sS2OvuS81sWrTjaSYJwNnA3e6+0Mx+\nRZWmLa3l9YUPm/PNIpSoFwL/QlcxYtFuYCVwq7t/cIb1fge86e5vNU9YLUc9ztmTgT8CbwPXEmqq\n6sDXguV3AHPcPa/hFxRbD3cvB54HnjezdOBHwA4zm+Lui9z9i7VU8Uvgf929QsezdTGzV4Be1Sz6\nurs/G6zzdULNXx8Nlu0Gctx9f9CS4RkzG+7uh5ol6BhTzXnr94S6I3jw92eEko3mdJ677zSzHsA8\nMzvl/6Rofkey0HgbV3OyeWssHK9TxNp3yEh9BltawroTyA57nBWUtSrBVYx/A4+6+1NB8R4zy3D3\n3cHl/L0119BinAtcbaFO6u2BzoT6d3Y1s4TgClxre43zgDx3r/wl80lCCWtrfH0BLga2unsBgJk9\nReh1b82vcUt0LaF+xE+Z2ePAw1WbO5nZt4F04D/DitvEObk29TlnV36RDvwruIWbDEw1szuATkCS\nmR0hdG4Mb1LVZo510JXieuDTQAmhL4Qrg2W/AKZXs9nj7v5jYDzweJCspgGXm1kZoWM3LWz9LGB+\nkzwBaRLufvGZlpvZp4ErgYuCZvS4ezFQHNxfamabCV3FX9K00X4oZs6Z1Z233H1P2PI/EfqxqFkF\nLbNw971m9jShZtSx8h3pMuD9yuMUC8crUNPxier7LZKfwZbWJHgxMMhCI4wmEfoPbHaUY4qooI/O\ng8A6d/952KLZQOUohjcDz1bdtqVx96+6e5a79yX0Wr7m7p8EXif0BRpayXOt5O75QK6ZDQmKLiLU\n/LLVvb6BHcAkM+sQvLcrn2+rfY1boqCvySeAqYSabT9rZq8ETcUws1sJ9fm7wd0rwjadDdxkIZOA\norBmSW1CpM/Z7v5Jd88JzotfJtT/6J7guB4ys0nBPm+qa50tmZn9HXifUCuNm9z9And/xN1PALj7\nF/3k4B3htx8Hy/u5e9/geD4J3OHuzwAvAZeaWbegJcilQZm0AmY2k1B3o6vd/VhYebqFBj7CzPoT\nGoxmSzOGFhPfY2s6b9mp/Rs/Aqyuum0Tx9XRzFIq7xP6XK4mdr4j3UBYc+BoH68wNR2fqP0fHfHP\noLu3qBtwOaHRpjYTavYR9Zgi/PzOI9S0YCWwPLhdTqhv56vARuAVIDXasUb4eU8Dng/u9yc0sMsm\nQlcf2kU7vgg/1zGEfklaCTwDdGvNry/wXeADQifyvwHtWvtr3BpuhH7Vzg7ulwXn3Mpz0reCciM0\n4uVmYBWh0aCjHnszH6cmO2cTuqJ4f9jj8cHnaDNwP2DRfv7NcHyvBhIiVNdfgWvDHn82OAdtAj4T\n7eeqW+RuwWuaG/aZ/ENQ/jFgTVD2PnBVFGKL+vfYM5y3/hacy1cSSnYymjmu/sCK4Lam8vjEwnck\noCOwH+gSVtbsx4tQwrwbKCXUau+Wmo5Pc/0fXUNMEf0MWrCxiIiIiIiISExpaU2CRUREREREpI1Q\nwioiIiIiIiIxSQmriIiIiIiIxCQlrCIiIiIiIhKTlLCKiIiIiIhITFLCKiIiIiIiIjFJCauIiIiI\niIjEJCWsEhVm9oyZLTWzNWZ2W1B2i5ltMLNFZvYnM7s/KE83s3+b2eLgdm50oxcRqRud60SkLdC5\nTpqSuXu0Y5A2yMxS3f2AmSUDi4EZwALgbOAw8Bqwwt3vMrN/AL9z97fNLAd4yd3PilrwIiJ1pHOd\niLQFOtdJU0qIdgDSZn3ezD4S3M8GbgTecPcDAGb2L2BwsPxiYJiZVW7b2cw6ufuR5gxYRKQBdK4T\nkbZA5zppMkpYpdmZ2TRCJ6vJ7n7MzOYDHwA1/boWB0xy9xPNE6GISOPpXCcibYHOddLU1IdVoqEL\ncDA4qQ0FJgEdgQvMrJuZJQAfC1v/ZeDuygdmNqZZoxURaRid60SkLdC5TpqUElaJhrlAgpmtA34M\nvAfsBH4ILCLU52EbUBSs/3lgvJmtNLO1wO3NHrGISP3pXCcibYHOddKkNOiSxIzK/gvBL3FPAw+5\n+9PRjktEJJJ0rhORtkDnOokUXWGVWPIdM1sOrAa2As9EOR4Rkaagc52ItAU610lE6AqriIiIiIiI\nxCRdYRUREREREZGYpIRVREREREREYpISVhEREREREYlJSlhFREREREQkJilhFRERERERkZj0/wEN\nNAnm3xyvxwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7fd3c04b00>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(16, 4))\n",
    "\n",
    "plt.subplot2grid((1, 3),(0, 0))\n",
    "plt.title('age & survived')\n",
    "plt.xlabel('age')\n",
    "plt.ylabel('survived')\n",
    "plt.yticks([0,1])\n",
    "plt.scatter(df.Age, df.Survived)\n",
    "\n",
    "# 各年龄分布\n",
    "plt.subplot2grid((1, 3), (0, 1))\n",
    "age_0_20 = len(df.Age[(df.Age.values >= 0) & (df.Age.values < 20)])\n",
    "age_20_40 = len(df.Age[(df.Age.values >= 20) & (df.Age.values < 40)])\n",
    "age_40_ = len(df.Age[(df.Age.values >= 40)])\n",
    "age_list = (age_0_20,age_20_40,age_40_)\n",
    "plt.title('age range')\n",
    "plt.ylabel('persons')\n",
    "plt.xlabel('age')\n",
    "plt.xticks((0,1, 2),('<20','20~40', '>=40'))\n",
    "plt.bar(left=(0,1,2),height=age_list, align='center', color=('blue', 'orange', 'green'))\n",
    "\n",
    "# 各等级年龄分布\n",
    "plt.subplot2grid((1, 3), (0, 2))\n",
    "line1 = df.Age[df.Pclass==1].plot(kind='kde')\n",
    "line2 = df.Age[df.Pclass==2].plot(kind='kde')\n",
    "line3 = df.Age[df.Pclass==3].plot(kind='kde')\n",
    "#_df = pd.DataFrame({'pclass1_age': line1, 'pclass2_age': line2, 'pclass3_age': line3})\n",
    "#_df.plot(kind='kde')\n",
    "plt.legend(('pclass1_age', 'pclass2_age', 'pclass3_age'))\n",
    "plt.xlabel('age')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "图1：可以看到的信息感觉不是很多，比较明显的是60～80之间存活率比较多，\n",
    "\n",
    "图2：可以看到20~40年龄层占比最高，也就是中青年占比最高\n",
    "\n",
    "图3：可以看到各等级舱位年龄占比。可以看到一等舱中年龄40岁左右的比较多，二等舱中30左右的比较多，三等舱20左右比较多，财富的配比也符合现实生活规律。\n",
    "\n",
    "由此可以知道，年龄可以直接影响存活率（青中年各方面生理机能强，存活率高），也可以间接影响，因为年龄和所乘的舱位等级有一定的关联。\n",
    "\n",
    "**之前的分析已经知道年龄存在缺失情况，如何减弱缺失部分的影响我们留到后面**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Sex\n",
    "\n",
    "俗话说“女士优先，男士靠边”，可想而知年龄应该也是一个影响因素，我们分析分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7fcbbb1160>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nlWSJpEn6vwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7fc17fa0f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "male = len(df.Sex[df.Sex == 'male'])\n",
    "female = len(df.Sex[df.Sex == 'female'])\n",
    "sex_list = (male, female)\n",
    "plt.ylabel('persons')\n",
    "plt.xticks((0, 1),('male','female'))\n",
    "plt.bar(left=(0,1),height=sex_list, align='center', color=('blue', 'orange'))\n",
    "plt.show()\n",
    "\n",
    "male = df.Survived[df.Sex == 'male'].value_counts()\n",
    "female = df.Survived[df.Sex == 'female'].value_counts()\n",
    "_df = pd.DataFrame({'male': male, 'female': female})\n",
    "_df.plot(kind='bar', stacked=True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "图1：男士比女士多\n",
    "\n",
    "图2：存活中女士占多数，死亡中男士占多数\n",
    "\n",
    "由1，2可以知道性别对存活率也有影响"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### SibSp\n",
    "\n",
    "船上乘客的兄弟姐妹/配偶数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7fc8f908d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "alive = df.SibSp[df.Survived == 1].value_counts()\n",
    "die = df.SibSp[df.Survived == 0].value_counts()\n",
    "_df = pd.DataFrame({'alive': alive, 'die': die})\n",
    "_df.plot(kind='bar', stacked=True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Parch\n",
    "\n",
    "船上乘客的父母/子女数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFMFJREFUeJzt3X+QXWWd5/H3F0gIESdgaFPZNE4yJWYwtYKh+TFKRUaE\nBJgiuKUQdwsiwuSPRYSaLdfsuLXDWCvFVG0tS6wpNAps2BoFJjtAHJEfRtnFFZh0YwbBgIkYKp0K\n0BOwkR/BBL/7x33ATkzS93bfm5t+fL+quu5znuc553wv1fnk5LnnHiIzkSTV65BuFyBJ6iyDXpIq\nZ9BLUuUMekmqnEEvSZUz6CWpcga9JFXOoJekyhn0klS5w0abEBFzgdtHdP0R8F+AW0v/bGAzcGFm\nvhQRAdwAnAu8Bnw6Mx/b3zmOOeaYnD179hjKl6TfXwMDA/+SmT2jzYtWHoEQEYcCW4FTgSuAFzPz\nuohYDhydmV+IiHOBK2kE/anADZl56v6O29fXl/39/U3XIUmCiBjIzL7R5rW6dHMm8PPMfBZYDKwq\n/auAC0p7MXBrNjwCHBURM1s8jySpTVoN+iXAt0p7RmZuK+3ngBmlPQvYMmKfwdInSeqCpoM+IiYD\n5wN/v+dYNtZ/WnoMZkQsi4j+iOgfGhpqZVdJUgtG/TB2hHOAxzLz+bL9fETMzMxtZWnmhdK/FTh2\nxH69pW83mbkSWAmNNfqWK5f0e23nzp0MDg6yY8eObpfScVOmTKG3t5dJkyaNaf9Wgv5T/HbZBmAN\nsBS4rrzePaL/sxFxG40PY4dHLPFIUlsMDg7yzne+k9mzZ9O42a9Omcn27dsZHBxkzpw5YzpGU0s3\nEfEO4CzgH0Z0XwecFREbgY+VbYB7gGeATcDXgX8/psokaT927NjB9OnTqw55gIhg+vTp4/qXS1NX\n9Jn5KjB9j77tNO7C2XNu0rj1UpI6qvaQf8t436ffjJWkyrWyRn/wuGZah48/3NnjS2q72cu/09bj\nbb7uvDHvO3v2bPr7+znmmGP40Ic+xI9+9KM2VtY6r+glqYO6HfJg0EvSuFxwwQWcdNJJzJs3j5Ur\nV/7O+JFHHgnAkiVL+M53fvuvjk9/+tOsXr2aN998k89//vOcfPLJfOADH+BrX/ta22s06CVpHG6+\n+WYGBgbo7+9nxYoVbN++fa/zLrroIu644w4Afv3rX7N27VrOO+88brrpJqZNm8a6detYt24dX//6\n1/nFL37R1hon5hq9JB0kVqxYwZ133gnAli1b2Lhx417nnXPOOVx11VW88cYb3HvvvSxYsIAjjjiC\n+++/n8cff5zVq1cDMDw8zMaNG8d8z/zeGPSSNEYPPvgg3/ve93j44YeZOnUqZ5xxxj7vd58yZQpn\nnHEG9913H7fffjtLliwBGl+I+spXvsLChQs7VqdLN5I0RsPDwxx99NFMnTqVp556ikceeWS/8y+6\n6CJuueUWHnroIRYtWgTAwoULufHGG9m5cycAP/vZz3j11VfbWqdX9JKqMJ7bIcdq0aJFfPWrX+X4\n449n7ty5nHbaafudf/bZZ3PxxRezePFiJk+eDMDll1/O5s2bmT9/PplJT08Pd911V1vrNOglaYwO\nP/xwvvvd7/5O/+bNm99uv/LKK2+3J02axIsvvrjb3EMOOYRrr72Wa6+9tmN1unQjSZUz6CWpcga9\nJFXOoJekyhn0klQ5g16SKuftlZLq0O7Hl4/hceXXXHMNRx55JC+//DILFizgYx/7WHtrGiODXpLa\n7Etf+lK3S9iNSzeSNA5f/vKXed/73sfpp5/O008/Dfz2EcQAAwMDfOQjH+Gkk05i4cKFbNu27YDX\naNBL0hgNDAxw2223sX79eu655x7WrVu32/jOnTu58sorWb16NQMDA3zmM5/hi1/84gGv06UbSRqj\nhx56iI9//ONMnToVgPPPP3+38aeffponnniCs846C4A333yTmTNnHvA6DXpJ6pDMZN68eTz88MNd\nraOppZuIOCoiVkfEUxGxISL+JCLeFREPRMTG8np0mRsRsSIiNkXE4xExv7NvQZK6Y8GCBdx11128\n/vrr/OpXv+Lb3/72buNz585laGjo7aDfuXMnTz755AGvs9kr+huAezPzExExGZgK/CWwNjOvi4jl\nwHLgC8A5wHHl51TgxvIqSZ0zhtshx2v+/PlcdNFFnHDCCbz73e/m5JNP3m188uTJrF69ms997nMM\nDw+za9curr76aubNm3dA64zM3P+EiGnAeuCPcsTkiHgaOCMzt0XETODBzJwbEV8r7W/tOW9f5+jr\n68v+/v7mq273/bK/c/wD/wsjqTUbNmzg+OOP73YZB8ze3m9EDGRm32j7NrN0MwcYAm6JiB9HxDci\n4h3AjBHh/Rwwo7RnAVtG7D9Y+vYscFlE9EdE/9DQUBNlSJLGopmgPwyYD9yYmR8EXqWxTPO2cqW/\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7fc88505c0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "alive = df.Parch[df.Survived == 1].value_counts()\n",
    "die = df.Parch[df.Survived == 0].value_counts()\n",
    "_df = pd.DataFrame({'alive': alive, 'die': die})\n",
    "_df.plot(kind='bar', stacked=True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们将SibSp和Parch结合在一起看看有没有规律"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. 特征工程 (feature engineering)\n",
    "\n",
    "接下来要做的是对这些属性做特征工程，也是最需要脑洞和最关键的一步。\n",
    "\n",
    "这一步我们主要处理：\n",
    "* 将字符数据数值化   \n",
    "   数值化一般两种方式\n",
    "   以性别（gender）：男女， 为例解释\n",
    "   * 连续值表示：即gender有两值，1代表男，0代表女表示性别\n",
    "   * 二进制表示：需要新增字段gender_male, gender_female用0和1代表是否选择该值\n",
    "   \n",
    "\n",
    "* 对缺失值的处理\n",
    "   对于缺值的情况，常见的处理方法：\n",
    "   * 若缺值的样本占总数的比例极高，可以考虑舍弃。\n",
    "   * 可以采用中位数，平均值，众数来填充缺失值\n",
    "   * 如果缺值的样本适中，**离散型**特征属性（比如说类目属性）,那就把NaN作为一个新类别，加到类别特征中\n",
    "   * 如果缺值的样本适中，**连续型**特征属性，可以考虑给定一个步长，目的是把它**离散化**，然后把NaN作为一个类型加到属性类目中\n",
    "   * 回归预测出缺失值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn import preprocessing\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "scaler = preprocessing.StandardScaler()\n",
    "\n",
    "train_df = df\n",
    "test_df = pd.read_csv('./data/test.csv')\n",
    "df = pd.concat([train_df, test_df])\n",
    "\n",
    "# 从字符串中提取出数字串\n",
    "def FindNumber(item):\n",
    "    match = re.compile(\"([\\d]+$)\").search(item)\n",
    "    if match:\n",
    "        return match.group()\n",
    "    else:\n",
    "        return 0\n",
    "    \n",
    "# 获取字母\n",
    "def getLetter(item):\n",
    "    match = re.compile(\"([a-zA-Z]+)\").search(item)\n",
    "    if match:\n",
    "        return match.group()\n",
    "    else:\n",
    "        return 'U'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 对Cabin进行特征工程"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df['Cabin'][df.Cabin.isnull()] = 'U0'\n",
    "    \n",
    "df['CabinLetter'] = df['Cabin'].map( lambda x : getLetter(x))\n",
    "df['CabinLetter'] = pd.factorize(df['CabinLetter'])[0]\n",
    "df['CabinNum'] = df['Cabin'].map( lambda x : FindNumber(x)).astype(int)\n",
    "df['CabinNum'] = scaler.fit_transform(df['CabinNum'].reshape(-1 ,1))\n",
    "#df['CabinNum']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Ticket\n",
    "\n",
    "将Ticket中的数字部分作为数值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#print(df.Ticket)\n",
    "df['TicketNum'] = df.Ticket.map( lambda x : FindNumber(x)).astype(int)\n",
    "df['TicketNum'] = scaler.fit_transform(df['TicketNum'].reshape(-1 ,1))\n",
    "#print(df.TicketNum)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Sex\n",
    "\n",
    "1替换male, 0 替换female"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df['Gender'] = np.where(df['Sex'] == 'male', 1, 0)\n",
    "#df['Gender']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Fare\n",
    "\n",
    "选择中位数作为未知值的填充值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df['Fare'][ np.isnan(df['Fare']) ] = df['Fare'].median()\n",
    "df['Fare'] = scaler.fit_transform(df['Fare'].reshape(-1 ,1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Embarked\n",
    "\n",
    "对于登陆港口为空时，将其赋值为出现次数最多的港口,并将港口数值化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df.Embarked[df.Embarked.isnull()] = df.Embarked.dropna().mode().values\n",
    "# 数值化\n",
    "df['Embarked'] = pd.factorize(df['Embarked'])[0]\n",
    "#df['Embarked']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Pclass\n",
    "\n",
    "对缺失值的处理和Embarked一样，用出现次数最多的值替代"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df.Pclass[ df.Pclass.isnull() ] = df.Pclass.dropna().mode().values\n",
    "\n",
    "df['Pclass'] = scaler.fit_transform(df['Pclass'].reshape(-1 ,1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Name\n",
    "\n",
    "df['Appellation']  -  记录称呼，Mr, Mrs, Miss ... , 并数值化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df['Appellation'] = df['Name'].map(lambda x: re.compile(\", (.*?)\\.\").findall(x)[0])\n",
    "\n",
    "df['Appellation'][df.Appellation == 'Jonkheer'] = 'Master'\n",
    "df['Appellation'][df.Appellation.isin(['Ms','Mlle'])] = 'Miss'\n",
    "df['Appellation'][df.Appellation == 'Mme'] = 'Mrs'\n",
    "df['Appellation'][df.Appellation.isin(['Capt', 'Don', 'Major', 'Col', 'Sir'])] = 'Sir'\n",
    "df['Appellation'][df.Appellation.isin(['Dona', 'Lady', 'the Countess'])] = 'Lady'\n",
    "\n",
    "# 数值化\n",
    "df['AppellationNum'] = pd.factorize(df['Appellation'])[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df['SibSp'] = scaler.fit_transform(df['SibSp'].reshape(-1 ,1))\n",
    "df['Parch'] = scaler.fit_transform(df['Parch'].reshape(-1 ,1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Age\n",
    "\n",
    "Age 由之前的分析可知是一个重要影响因素，很多属性可以影响到年龄，所以在这里我们用**回归去预测缺失的年龄。**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "age_df = df[['Age', 'Embarked','Fare', 'Parch', 'SibSp', 'AppellationNum','Pclass', 'CabinLetter', 'CabinNum']]\n",
    "X = age_df.loc[(df.Age.notnull())].values[:, 1::]\n",
    "y = age_df.loc[(df.Age.notnull())].values[:, 0]\n",
    "\n",
    "rgr = RandomForestRegressor(n_estimators=2000, n_jobs=-1)\n",
    "rgr.fit(X, y)\n",
    "\n",
    "preds = rgr.predict(age_df.loc[ (df.Age.isnull()) ].values[:, 1::])\n",
    "df.loc[ (df.Age.isnull()), 'Age' ] = preds\n",
    "df['Age'] = scaler.fit_transform(df['Age'].reshape(-1 ,1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df_choosed = df[['Survived', 'Age', 'Fare', 'Parch', 'Pclass', 'SibSp', 'TicketNum', 'CabinLetter', 'CabinNum', 'Gender', 'AppellationNum']]\n",
    "\n",
    "train_df = df_choosed[:train_df.shape[0]] \n",
    "test_df  = df_choosed[train_df.shape[0]:]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. 模型\n",
    "\n",
    "这类数据我们一般使用集成的方法作为分类器，随机森林,GDBT, XGBoost会有较好的效果，为了找到最佳参数我们使用网格搜索来寻找最佳参数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done !\n"
     ]
    }
   ],
   "source": [
    "from sklearn.grid_search import GridSearchCV\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "\n",
    "train_data = train_df.as_matrix()\n",
    "test_data = test_df.as_matrix()\n",
    "\n",
    "X_train, y_train = train_data[:, 1::], train_data[:, 0]\n",
    "X_test, y_test = test_data[:, 1::], test_data[:, 0]\n",
    "\n",
    "clf = RandomForestClassifier(n_jobs=-1, oob_score=True)\n",
    "\n",
    "params = { \n",
    "    \"n_estimators\" : [200, 500, 1000, 2000, 5000, 10000],\n",
    "    \"max_features\" : [3, 4, 5], \n",
    "    \"min_samples_split\" : [4, 6, 8, 10]\n",
    "}\n",
    "gs= GridSearchCV(clf, params)\n",
    "gs.fit(X_train, y_train)\n",
    "print('Done !')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "train accuracy:  0.930415263749\n"
     ]
    }
   ],
   "source": [
    "train_score = gs.score(X_train, y_train)\n",
    "print('train accuracy: ', train_score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>892</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>893</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>894</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>895</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>896</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>897</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>898</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>899</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>900</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>901</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>902</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>903</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>904</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>905</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>906</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>907</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>908</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>909</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>910</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>911</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>912</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>913</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>914</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>915</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>916</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>917</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>918</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>919</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>920</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>921</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>388</th>\n",
       "      <td>1280</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>389</th>\n",
       "      <td>1281</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>390</th>\n",
       "      <td>1282</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>391</th>\n",
       "      <td>1283</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>392</th>\n",
       "      <td>1284</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>393</th>\n",
       "      <td>1285</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>394</th>\n",
       "      <td>1286</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>395</th>\n",
       "      <td>1287</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>396</th>\n",
       "      <td>1288</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>397</th>\n",
       "      <td>1289</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>398</th>\n",
       "      <td>1290</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>399</th>\n",
       "      <td>1291</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>400</th>\n",
       "      <td>1292</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>401</th>\n",
       "      <td>1293</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>402</th>\n",
       "      <td>1294</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>403</th>\n",
       "      <td>1295</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>404</th>\n",
       "      <td>1296</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>405</th>\n",
       "      <td>1297</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>406</th>\n",
       "      <td>1298</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>407</th>\n",
       "      <td>1299</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>408</th>\n",
       "      <td>1300</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>409</th>\n",
       "      <td>1301</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>410</th>\n",
       "      <td>1302</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>411</th>\n",
       "      <td>1303</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>412</th>\n",
       "      <td>1304</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>413</th>\n",
       "      <td>1305</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>414</th>\n",
       "      <td>1306</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>415</th>\n",
       "      <td>1307</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>416</th>\n",
       "      <td>1308</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>417</th>\n",
       "      <td>1309</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>418 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     PassengerId  Survived\n",
       "0            892         0\n",
       "1            893         0\n",
       "2            894         0\n",
       "3            895         0\n",
       "4            896         1\n",
       "5            897         0\n",
       "6            898         0\n",
       "7            899         0\n",
       "8            900         1\n",
       "9            901         0\n",
       "10           902         0\n",
       "11           903         0\n",
       "12           904         1\n",
       "13           905         0\n",
       "14           906         1\n",
       "15           907         1\n",
       "16           908         0\n",
       "17           909         0\n",
       "18           910         1\n",
       "19           911         1\n",
       "20           912         0\n",
       "21           913         1\n",
       "22           914         1\n",
       "23           915         0\n",
       "24           916         1\n",
       "25           917         0\n",
       "26           918         1\n",
       "27           919         0\n",
       "28           920         0\n",
       "29           921         0\n",
       "..           ...       ...\n",
       "388         1280         0\n",
       "389         1281         0\n",
       "390         1282         1\n",
       "391         1283         1\n",
       "392         1284         1\n",
       "393         1285         0\n",
       "394         1286         0\n",
       "395         1287         1\n",
       "396         1288         0\n",
       "397         1289         1\n",
       "398         1290         0\n",
       "399         1291         0\n",
       "400         1292         1\n",
       "401         1293         0\n",
       "402         1294         1\n",
       "403         1295         0\n",
       "404         1296         0\n",
       "405         1297         0\n",
       "406         1298         0\n",
       "407         1299         0\n",
       "408         1300         1\n",
       "409         1301         1\n",
       "410         1302         0\n",
       "411         1303         1\n",
       "412         1304         0\n",
       "413         1305         0\n",
       "414         1306         1\n",
       "415         1307         0\n",
       "416         1308         0\n",
       "417         1309         1\n",
       "\n",
       "[418 rows x 2 columns]"
      ]
     },
     "execution_count": 144,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_pred = gs.predict(X_test)\n",
    "\n",
    "passengerId = df['PassengerId'][train_df.shape[0]:]\n",
    "\n",
    "# out to file\n",
    "result = pd.DataFrame({'PassengerId': passengerId.as_matrix(), 'Survived':y_pred.astype(np.int32)})\n",
    "result.to_csv(\"./result.csv\", index=False)\n",
    "result"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## 结果\n",
    "\n",
    "上述baseline提交到kaggle后准确率为0.78468可以排4023名，分析结果可以知道模型存在了过拟合，接下来我们要做的就是对baseline进行参数进行反复调整。**\"No Free Lunch\"**定理告诉我们没有一个模型是包打天下的，反复调参甚至更换模型是关键！"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
